instituto politÉcnico nacional -...

145
INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ELÉCTRICA UNIDAD PROFESIONAL “ADOLFO LÓPEZ MATEOS” “DESARROLLO Y ANÁLISIS CINÉMÁTICO DE UN BRAZO ROBÓTICO PARA LA SELECCIÓN DE PIEZAS” PROYECTO DE INVESTIGACIÓN QUE PARA OBTENER EL TÍTULO DE INGENIERO EN CONTROL Y AUTOMATIZACIÓN PRESENTAN MAYA SANTOS MANUEL FONSECA MUCIÑO RAÚL ASESORES DR ALEJANDRO TONATIU VELÁZQUEZ SÁNCHEZ M. EN C. MARTÍN ENRÍQUEZ SOBERANES MÉXICO D.F. 2010

Upload: phungthuy

Post on 10-Feb-2018

220 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

INSTITUTO POLITÉCNICO NACIONAL

ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ELÉCTRICA

UNIDAD PROFESIONAL “ADOLFO LÓPEZ MATEOS”

“DESARROLLO Y ANÁLISIS CINÉMÁTICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS”

PROYECTO DE INVESTIGACIÓN

QUE PARA OBTENER EL TÍTULO DE

INGENIERO EN CONTROL Y AUTOMATIZACIÓN

PRESENTAN

MAYA SANTOS MANUEL

FONSECA MUCIÑO RAÚL

ASESORES

DR ALEJANDRO TONATIU VELÁZQUEZ SÁNCHEZ

M. EN C. MARTÍN ENRÍQUEZ SOBERANES

MÉXICO D.F. 2010

Page 2: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

· ...~ .­

INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ELECTRICA

UNIDAD PROFESIONAL "ADOLFO LÓPEZ MATEOS"

REPORTE TÉCNICO

INGENIERO EN CONTROL Y AUTOMATIZACIÓN QUE PARA OBTENER EL TITULO DE

POR LA OPCiÓN DE TITULACIÓN PROYECTO DE INVESTIGACIÓN REG. SIP20091185

DEBERA(N) DESARROLLAR C. MANUEL MAYA SANTOS C. RAÚL FONSECA MUCIÑO

"DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO PARA LA SELECCIÓN DE PIEZAS"

DESARROLLAR UN BRAZO ROBÓTICO y LA PROPUESTA DE UN ARREGLO DE SENSORES PARA MANIPULAR OBJETOS PREVIAMENTE PROGRAMADOS, ADEMAS DE REALIZAR EL CÓDIGO FUENTE DE UN PROGRAMA, QUE NOS PERMITA OBTENER EL RESULTADO DE LA CINEMÁTICA DIRECTA, LA CINEMÁTICA INVERSA Y LA GENERACIÓN DE TRAYECTORIAS PARA UN ROBOT MANIPULADOR DE 5 GDL.

~ PROPONER UN ARREGLO DE SENSORES QUE AYUDARÁN A LA MANIPULACIÓN DE PIEZAS EN EL EFECTOR FINAL DEL BRAZO ROBÓTICO.

~ PROGRAMACIÓN DEL BRAZO ROBÓTICO y LOS SENSORES DEL EFECTOR FINAL, MEDIANTE EL USO DE SISTEMAS EMBEBIDOS, PARA LA MANIPULACIÓN DE PIEZAS ESPECÍFICAS.

~ DESARROLLO DEL CÓDIGO FUENTE DE UN PROGRAMA EN EL SOFTWARE MATLAB QUE REALICE EL CÁLCULO DE LA CINEMÁTICO DIRECTA E INVERSA Y LA GENERACIÓN DE TRAYECTORIAS.

MÉXICO D.F., 26 DE FEBRERO 2010.

~tUiIE!i¡;¿ , DR. ALEJANDRO T VELÁZQUEZ SÁN~~~~;~~(:0?.

~:,.?' (,f:~tj;f;'~~'~~ Q .~, "\ (" ~.... , "".' u.." C> -e

\~~i~7§f!!J ING. JOSÉ L M JÍA DOMÍNGUEZ I Pi\!

JEFE DEL DE ENTO ACADÉMICO JEFA1'_"<,'\ le A

DE INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN

Page 3: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl I Maya Santos Manuel

DESARROLLO Y

ANÁLISIS CINEMATICO

DE UN BRAZO

ROBÓTICO PARA LA

SELECCIÓN DE PIEZAS

Page 4: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl II Maya Santos Manuel

OBJETIVOS.

Objetivo general: Desarrollar un brazo robótico y la propuesta de un arreglo de sensores

para manipular objetos previamente programados, además de realizar el código fuente de

un programa, que nos permita obtener el resultado de la cinemática directa, la cinemática

inversa y la generación de trayectorias para un robot manipulador de 5 GDL

Objetivos específicos:

Proponer un arreglo de sensores que ayudaran a la manipulación de piezas en el

efector final del brazo robótico.

Programación del brazo robótico y los sensores del efector final, mediante el uso de

sistema embebidos, para la manipulación de piezas específicas.

Desarrollo del código fuente de un programa en el software Matlab que realice el

cálculo de la cinemática directa e inversa y la generación de trayectorias.

Page 5: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl III Maya Santos Manuel

JUSTIFICACIÓN:

En el campo de la robótica son muchas las aplicaciones que precisan de un sistema

sensorial integrado en la herramienta del manipulador, como se presenta durante el agarre

de objetos grandes o de piezas de diferentes dimensiones, el ensamble de piezas

industriales, agarre localizado para procesos de soldadura en el sector automotriz, sistemas

que evaden obstáculos y sistemas de inspección, entre muchos otros.

Los procesos antes mencionados necesitan sistemas y leyes de control que les permitan

llevar acabo de manera precisa las funciones para las que fueron programados, el diseño de

leyes de control para robots manipuladores de grados de libertad requiere el conocimiento

previo de su modelo, a su vez, es necesario un algoritmo de generación de trayectorias el

cual requiere el conocimiento de los modelos cinemáticos del robot, estos son pues

indispensables en el desarrollo de un sistema de control para robots manipuladores.

Por lo antes mencionado, debemos tomar en cuenta, que nunca existirá una solución única

para un problema especifico, por lo que se debe elegir la solución de una gama de

posibilidades que mejor responda a las necesidades, tanto de rapidez, exactitud, seguridad y

economía; sin caer en la exageración utilizando sistemas que sobrepasen nuestras

especificaciones, ya que esto provoca gastos innecesarios en el futuro.

Por lo cual es de vital importancia proponer sistemas de detección táctil que sean rápidos,

seguros, exactos y sobre todo flexibles, además de desarrollar programas que nos permitan

obtener datos confiables acerca de la cinemática y generación de trayectorias, para a partir

de ellos diseñar sistemas de control adecuados para robot manipuladores.

Page 6: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl IV Maya Santos Manuel

ALCANCE.

Este proyecto muestra el cálculo de la cinemática directa, la cinemática inversa y la

generación de trayectorias para un robot manipulador de 5 grados de libertad, por medio de

un programa desarrollado en el software Matlab. Además de la propuesta de un arreglo de

sensores montados en el efector final que ayudaran a la manipulación de objetos. También

mostramos datos técnicos de la construcción del manipulador, sin hacer mucho énfasis en

esta parte ya que este fue presentado en un proyecto para otra clase, por lo que solo

mostramos las partes que sirven a nuestro propósito,

Page 7: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl V Maya Santos Manuel

PLANTEAMIENTO DEL PROBLEMA.

Desde siempre el ser humano a intentado medir y analizar en forma confiable la cantidad y

calidad de las cosas que lo rodean, que son importantes para mejorar la vida, por ello han

creado mecanismos semejantes a sus extremidades superiores llamados manipuladores; que

lo pueden reemplazar en trabajos tediosos y donde se requiere mejorar la cantidad y calidad

de la producción.

A través del análisis cinematico, se observa como intervienen los parámetros de diseño en

el movimiento de un manipulador, permitiendo generar trayectorias de trabajo fuera de

línea. El problema es que los cálculos para el análisis cinematico de robots manipuladores

de 5 GDL o más, resulta en ocasiones complicado, por lo que es necesario apoyarse en

herramientas computacionales, que permitan cálculos confiables y precisos, para que en

base a estos el robot manipulador realice su trabajo de manera eficiente y evitando

colisiones.

Page 8: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl VI Maya Santos Manuel

HIPÓTESIS

La solución que se propone, es la de desarrollar un programa con ayuda del software

Matlab, que calcule la cinemática directa, la cinemática inversa y la generación de

trayectorias para un manipulador de 5 grados de libertad, utilizando los parámetros de

diseño del manipulador, obteniendo resultados con un error aproximado de 1.0 X 10-9

, por

lo que se considerarían resultados confiables, para usarlos en el diseño de leyes de control

para el manipulador robótico.

Page 9: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl VII Maya Santos Manuel

CONTENIDO Objetivos……………………………………………………………………………………II

Justificación..………………………………………………………………………………III

Alcance…………………………………………………………………………………….IV

Planteamiento del problema………………………………………………………………...V

Hipótesis…………………………………………………………………………………...VI

Contenido………………………………………………………………………………….VII

CAPITULO I ESTADO DEL ARTE

1.1 Antecedentes históricos………………….…………………………………………….2

1.2 Evolución de la robótica………………………………………....…………………….6

1.2.1 Tipos de configuraciones en los robots…….……………………...………………8

1.2.2 Aplicaciones y configuraciones de los robots...………………..…...……………12

1.2.3 Avances de la robótica en otras áreas………………..…………………………..15

1.3 La robótica en México y en el mundo…………….…………………………..……..16

CAPITULO II MARCO TEÓRICO

2.1 Robótica industrial………………………………………………………………..….21

2.2 Esquema general del sistema de un robot industrial…………….………..………….21

2.3 Robots manipuladores…………………………………………………………….….22

2.3.1 Sistema básico de un robot manipulador……………..…………………...……..23

2.3.2 Sensores y sistemas de control………………………..…………………….……23

2.4 Cinemática de los robots manipuladores……………….…………………………….24

2.4.1 Cinemática directa……………………………………………………....….…….26

2.4.1.1 Algoritmo de Denavit- Hartenberg para la obtención del modelo……...……30

2.4.2 Cinemática inversa……………………………………………………..………...31

2.5 Generación de trayectorias……………………………………………………….…. 34

2.5.1 Generación de trayectorias para manipuladores……..……..…………….………36

2.5.2 Trayectorias articulares para manipuladores robóticos…………..…..………….38

2.6 Sensores táctiles………………………………………………………….…………..38

2.6.3 Aplicación a la robótica de agarre con sensores resistivos……...……………….39

2.7 Sistemas embebidos………………………………………………………….………39

2.7.1 Componentes de un sistema embebido…………………..…..………….……….40

2.7.2 Microcontroladores dentro de los sistemas embebidos………..…….….………..40

2.8 Control de motores de corriente continua (motores de CC)……….……….….…….41

2.8.1 Motores CC (motores de corriente continua)……………..…………….…….….41

2.8.2 Circuitos electrónicos para el control de sentido de giro para motores de corriente

continúa……..…………………………………………….………………….…..42

2.8.3 Modulador de ancho de pulso “PWM”……………………………..……………43

2.9 Servomotores…………………………………………………………………………44

Page 10: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl VIII Maya Santos Manuel

2.9.1 Composición del servomotor…………………………………………………….45

2.9.2 Funcionamiento del servomotor………………………………………………….46

CAPITULO III CINEMÁTICA Y DESARROLLO DEL BRAZO ROBÓTICO

3.1 Estructura del brazo robótico………………………………………...………………49

3.1.1 Espacio de trabajo del robot manipulador………………………………………..52

3.1.2 Movimiento de las articulaciones………………………………………………...53

3.1.2.1 Movimiento de la cadera……………………………………………………..54

3.2 Análisis cinematico del robot manipulador…………………………………………..55

3.2.1 Establecimiento de los parámetros de Denavit-Hartemberg……………………..55

3.2.2 Cinemática directa………………………………………………………………..57

3.2.3 Cinemática inversa……………………………………………………………….62

3.2.4 Generación de trayectorias……………………………………………………….70

CAPITULO IV IMPLEMENTACIÓN

4.1 Elemento final gripper………………………………………………………………..75

4.2 Fuerzas que actúan en el gripper……………………………………………………..77

4.2.1 Las fuerzas de rozamiento……………………………………………………….78

4.3 Sujeción por forma y rozamiento…………………………………………………….80

4.3.1 Análisis de fuerzas para el gripper……………………………………………….83

4.4 Sensores táctiles FSR………………………………………………………………...84

4.4.1 Montaje de los FSR en el efector final…………………………………………..86

4.4.2 Diagrama de flujo para la identificación de piezas………………………………87

4.5 Desarrollo de la interfaz………………………………………………………………88

CAPITULO V CONCLUSIONES

5.1 Conclusiones finales………………………………………………………………..…90

Glosario……...……………………………………………………………………………..91

Bibliografía…...…………………………………………………………………………….96

Índice de figuras……………………………………………………………………………97

Índice de tablas……………………………………………………………………………..98

ANEXOS

Anexo A Planos de las partes del brazo manipulador………………………………….…99

Anexo B Código fuente de los programas en Matlab…………………………………...114

Anexo C Circuitos electrónicos y hojas de especificaciones…………………………....130

Page 11: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 1 Maya Santos Manuel

Capítulo I “Estado del Arte”

Page 12: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 2 Maya Santos Manuel

1.1 Antecedentes Históricos.

La imagen del robot como máquina a semejanza con el ser humano ha prevalecido en las

culturas desde hace muchos siglos, el afán por fabricar máquinas capaces de realizar tareas

independientes ha sido una constante en la historia, a través de la que se han descrito

infinidad de ingenios, antecesores directos de los actuales robots.

Los antiguos egipcios unieron brazos mecánicos a las estatuas de sus dioses, estos brazos

fueron operados por sacerdotes, quienes clamaban que el movimiento de estos era

inspiración de sus dioses; los griegos construyeron estatuas que operaban con sistemas

hidráulicos los cuales se utilizaban para fascinar a los adoradores de los templos.

La palabra robot es de origen eslavo, en ruso “robota” significa trabajo, en checo significa

trabajo forzado, en 1921 el escritor checo Karol Capek escribió Rossums Universal Robots,

una obra teatral que obtuvo gran éxito en Broadway, en esta obra unos androides trabajan

más del doble que un ser humano.

Entre los escritores de ciencia ficción, Isaac Asimov contribuyó con varias narraciones

relativas a robots, comenzó en 1939, a él se atribuye el acuñamiento del término robótica, la

imagen de robot que aparece en su obra es el de una máquina bien diseñada y con una

seguridad garantizada que actúa de acuerdo con tres principios.

Estos principios fueron denominados por Asimov las Tres Leyes de la Robótica, y son:

1. Un robot no puede actuar contra un ser humano o, mediante la inacción, que un ser

humano sufra daños.

2. Un robot debe de obedecer las órdenes dadas por los seres humanos, salvo que estén

en conflictos con la primera ley.

3. Un robot debe proteger su propia existencia, a no ser que esté en conflicto con las

dos primeras leyes.

Consecuentemente todos los robots de Asimov son fieles sirvientes del ser humano, de ésta

forma su actitud contraviene a la de Kapek.

Fig. 1.1. Isaac Asimov. Escritor al que se le atribuye el término Robótica.

Page 13: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 3 Maya Santos Manuel

En 1495, Leonardo Da Vinci había imaginado el concepto de robot; un autómata creado a

partir de una armadura medieval ítalo-germana de caballero, las notas de diseño fueron

encontradas en 1950, pero no se sabe si Leonardo alguna vez intentó construir el prototipo,

gracias a los planos, se cree que el robot sería capaz de realizar movimientos humanos;

podría haberse sentado, mover los brazos, cuellos y la quijada.

Fue diseñado cuando Leonardo da Vinci era joven, en su estancia en Milán y para recreo en

fiestas de la alta alcurnia, Leonardo Da Vinci, creyó poder representar de forma mecánica

el cuerpo humano, disponiendo un conjunto de poleas y cuerdas que harían de esqueleto y

músculos y que se moverían de forma autómata.

Fig. 1.2 Automata creado por Leonardo Da Vinci

El inicio de la robótica actual puede fijarse en la industria textil del siglo XVIII, cuando

Joseph Jacquard inventa en 1801 una máquina textil programable mediante tarjetas

perforadas, en la cual, esencialmente se trataba de robots mecánicos diseñados para un

propósito específico y la diversión.

En 1805, Henri Maillardert construyó una muñeca mecánica que era capaz de hacer

dibujos, una serie de levas se utilizaban como “el programa” para el dispositivo en el

proceso de escribir y dibujar, estas creaciones mecánicas de forma humana deben

considerarse como inversiones aisladas que reflejan el genio de hombres que se anticiparon

a su época.

La revolución industrial impulsó el desarrollo de estos agentes mecánicos, entre los cuales

se destacaron el torno mecánico motorizado de Babbitt (1892) y el mecanismo programable

para pintar con spray de Pollard y Roselund (1939).

Además de esto durante los siglos XVII y XVIII en Europa fueron construidos muñecos

mecánicos muy ingeniosos que tenían algunas características de robots. Jacques de

Vaucansos construyó varios músicos de tamaño humano a mediados del siglo XVIII.

Page 14: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 4 Maya Santos Manuel

El primer brazo articulado (o “manipulador”) fue construido por Harold Roselund de la

compañía Debilvis, ahora desaparecida, en 1938; se usaba para pintar con spray, está por

demás decir que en aquella época no existían computadoras digitales por lo que la

programación de una tarea era altamente engorrosa por lo cual este manipulador no tuvo

éxito.

Inicialmente, se definía un robot como un manipulador reprogramable y multifuncional

diseñado para trasladar materiales, piezas, herramientas o aparatos a través de una serie de

movimientos programados para llevar a cabo una variedad de tareas.

El desarrollo en la tecnología, donde se incluyen las poderosas computadoras electrónicas,

los actuadores de control retroalimentados, transmisión de potencia a través de engranes, y

la tecnología en sensores han contribuido a flexibilizar los mecanismos autómatas para

desempeñar tareas dentro de la industria.

Son varios los factores que intervienen para que se desarrollaran los primeros robots en la

década de los 50's, la investigación en inteligencia artificial desarrolló maneras de emular el

procesamiento de información humana con computadoras electrónicas e inventó una

variedad de mecanismos para probar sus teorías.

Las primeras patentes aparecieron en 1946 con los muy primitivos robots para traslado de

maquinaria de Devol, también en ese año aparecen las primeras computadoras. J. Presper

Eckert y John Maulchy construyeron la ENAC en la Universidad de Pensilvania y la

primera máquina digital de propósito general se desarrolla en el MIT.

El primer robot móvil de la historia pese a sus muy limitadas capacidades, fue ELSIE

(Electro-Light-Sensitive Internal-External), construido en Inglaterra en 1953, ELSIE se

limitaba a seguir una fuente de luz utilizando un sistema mecánico realimentado sin

incorporar inteligencia adicional.

En 1954, Devol diseña el primer robot programable y acuña el término "autómata

universal", que posteriormente recorta a Unimation, así llamaría Engleberger a la primera

compañía de robótica, la comercialización de robots comenzaría en 1959, con el primer

modelo de la Planet Corporation que estaba controlado por interruptores de fin de carrera.

En 1968, apareció SHACKEY del SRI (Standford Research Institute), que estaba provisto

de una diversidad de sensores así como una cámara de visión y sensores táctiles y podía

desplazarse por el suelo, el proceso se llevaba en dos computadores conectados por radio,

uno a bordo encargado de controlar los motores y otro remoto para el procesamiento de

imágenes.

En los 70's, la NASA inicio un programa de cooperación con el Jet Propulsión Laboratory

para desarrollar plataformas capaces de explorar terrenos hostiles, el primer fruto de esta

alianza seria el MARS-ROVER, que estaba equipado con un brazo mecánico tipo

STANFORD, un dispositivo telemétrico láser, cámaras estéreo y sensores de proximidad.

Page 15: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 5 Maya Santos Manuel

A partir de 1965 varios centros importantes de investigación tales como MIT, SRI, etc.

empezaron la investigación en robótica y áreas asociadas, en 1970 se construyo en el SRI

un manipulador con 6 grados de libertad controlado por computador y con control de

movimiento por bucle cerrado PID con servomotores de corriente continua; hasta entonces

todos los robots manipuladores tenían actuadores hidráulicos.

El primer robot controlado por microcomputador fue producido por Cincinnati milacron en

1973, en 1978 Unimation Desarrollo el PUMA (iníciales de Programmable Universal

Macine for Assembling).

En los ochenta aparece el CART del SRI que trabaja con procesado de imagen estéreo, más

una cámara adicional acoplada en su parte superior, también en la década de los ochenta, el

CMU-ROVER de la Universidad Carnegie Mellon incorporaba por primera vez una rueda

timón, lo que permite cualquier posición y orientación del plano.

Otros desarrollos Importantes en la historia de la robótica son:

En 1960 se introdujo el primer robot "Unimate'', basada en la transferencia de

artículos, programada de Devol, utilizan los principios de control numérico para el

control de manipulador y era un robot de transmisión hidráulica.

En 1961 se vendió a la General Motors el primer robot, un “Unimate”, que ya fue

retirado después de trabajar durante 50 años, (en años hombre equivalentes a

100,000 horas.

En 1964 se abren laboratorios de investigación en inteligencia artificial en el MIT,

el SRI (Stanford Research Institute) y en la universidad de Edimburgo, poco

después los japoneses que anteriormente importaban su tecnología robótica, se

sitúan como pioneros del mercado.

En 1966 Trallfa, una firma noruega, construyó e instaló un robot de pintura por

pulverización.

En 1971 El "Standford Arm'', un pequeño brazo de robot de accionamiento

eléctrico, se desarrolló en la Standford University.

En 1973 Se desarrolló en SRI el primer lenguaje de programación de robots del

tipo de computadora para la investigación con la denominación WAVE, fue seguido

por el lenguaje AL en 1974, los dos lenguajes se desarrollaron posteriormente en el

lenguaje VAL comercial para Unimation por Víctor Scheinman y Bruce Simano.

En 1978 Se introdujo el robot PUMA (Programmable Universal Machine for

Assambly) para tareas de montaje por Unimation, basándose en diseños obtenidos

en un estudio de la General Motors.

En 1980 Un sistema robótico de captación de recipientes fue objeto de demostración

en la Universidad de Rhode Island, con el empleo de visión de máquina el sistema

era capaz de captar piezas en orientaciones aleatorias y posiciones fuera de un

recipiente.

Page 16: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 6 Maya Santos Manuel

1.2 Evolución de la Robótica.

Actualmente, el concepto de robótica ha evolucionado hacia los sistemas móviles

autónomos, que son aquellos capaces de desenvolverse por sí mismos en entornos

desconocidos y parcialmente cambiantes, sin necesidad de supervisión, para lograr esto la

robótica utiliza sistemas de control mas exactos y avanzados.

Encontrar el control más eficiente para un manipulador es una de las tareas más importantes

en la robótica moderna, a este tipo de robots generalmente se les demanda elevadas

prestaciones de velocidad y precisión de movimiento, el control dinámico debe procurar

que las trayectorias sean seguidas fielmente por el robot

El modelo dinámico de los manipuladores antropomórficos son fuertemente no lineales,

multivariables, acoplados y de parámetros variables, lo que hace del diseño de control para

este tipo de mecanismos sea muy complejo, en la práctica se realizan simplificaciones para

facilitar el diseño de control, aunque limitando ciertas características de movimiento del

robot, el uso de técnicas mas robusta puede mejorar este problema pero el costo

computacional aumenta considerablemente.

En la actualidad existen técnicas de control convencional tanto lineales como no lineales,

que pueden ser utilizadas para robots antropomórficos, en el caso del control lineal, el

manipulador debe restringir su funcionamiento a rangos pequeños de movimiento donde se

pueda suponer que el comportamiento del mismo es lineal, en el otro caso, el no se

restringe el rango de movimiento del robot, pero son métodos mas costosos de utilizar y en

ambos casos se comportan bien ante modelos dinámicos bien conocidos.

Existen técnicas de control adaptativo no inteligentes, entre las mas conocidas: control

adaptativo por planificación de ganancias, que consiste en dividir el funcionamiento del

robot en varios rangos de operación definidos por posición y carga del manipulador y para

cada uno de estos rangos realizar un sistema de control convencional, este tipo de

controlador presenta como principal dificultad que pueden existir muchísimos puntos de

funcionamiento, complicando excesivamente el diseño del mismo. Control adaptativo con

modelo de referencia (MRAC), este tipo de controlador de un modelo de referencia, que es

muy difícil de elegir, que tiene un comportamiento ideal, el comportamiento instantáneo del

modelo real y el modelo deseado son utilizados para adaptar el controlador.

Otra familia de controladores adaptativos son los controladores inteligentes el diseño de

estos controladores tienen como ventaja principal que no es necesario conocer

completamente la planta, incluso en algunos casos esta puede ser completamente

desconocida, las técnicas de este tipo mas conocidas son lógica difusa, que requiere el

conocimiento inicial de un experto para su diseño, pero no requiere tiempo de

entrenamiento, perceptron multicapa, que es una técnica basada en el funcionamiento de las

neuronas del cerebro, requiere que se entrene antes de ser implementado por primera vez,

CMAC, es otro tipo de red neuronal, pero se encuentran basadas en el funcionamiento del

cerebelo, también requieren ser entrenadas antes de poner en funcionamiento, pero al igual

que las el perceptron multicapa no requiere conocimiento del apriori del experto.

Page 17: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 7 Maya Santos Manuel

También están las técnicas híbridas, ANFIS, P-CMAC, PID difuso, H-infinito difuso, que

combinan redes neuronales con lógica difusa o bien técnicas convencionales con lógica

difusa.

Las redes neuronales se adaptan a los cambios de la planta, pero su costo computacional es

generalmente grande, es por eso que los artículos que indican haber sido probados en

sistemas reales, tales como robots antropomórficos, son relativamente nuevos.

Otro de los campos en los que debemos poner atención, es en la teleoperación, que es el

conjunto de disciplinas que permiten a un operador manejar un dispositivo remoto mediante

el uso de un dispositivo local, la teleoperación fue motivada por la industria nuclear, que

debía tener a los operarios en lugares seguros de radiación en tanto se realizaba el trabajo.

Ahora los sistemas teleoperados tienen reflexión de fuerza, para que el operario tenga una

sensación de lo que ocurre en el ambiente remoto, este tipo de sistemas se llaman sistemas

con realimentación bilateral, los distintos esquemas de realimentación bilateral son:

1. Posición - Posición: La posición del dispositivo esclavo es determinada a partir de la

posición del dispositivo maestro.

2. Fuerza - Posición: La posición del dispositivo esclavo se determina a partir de la posición

del dispositivo maestro, pero existe una reflexión de fuerza del dispositivo esclavo al

maestro.

3. Fuerza - Fuerza: La posición de ambos dispositivos se determina por la lectura de los

sensores fuerza de cada uno de ellos y existe también un control de posición para cada

dispositivo.

4. Cuatro canales: Existe un intercambio de señales de posición y fuerza entre los

dispositivos, es el esquema que más transparencia puede dar al operario.

Cuando los retardos de comunicación son muy grandes entre el dispositivo maestro y el

esclavo en este tipo de sistemas, el sistema se vuelve inestable, una solución planteada es

utilizar visualizadores predicativos, que consisten en que el operador trabaja sobre un

ambiente virtual ubicado localmente sin retrasos, que simula lo que ocurre instantes de

tiempo después con el dispositivo esclavo, cuando los retardos no son tan grandes, de unos

pocos segundos es posible realizar un bucle de realimentación, aunque la el dispositivo

esclavo debe tener cierto nivel de autonomía.

Otra tecnología que esta usando mucho la robótica para modernizar los manipuladores

industriales, es el reconocimiento de objetos mediante visión artificial, es uno de los

campos que tiene el futuro más prometedor dentro de la industria, las aplicaciones son

muchas y van entrando poco a poco en las líneas de producción a medida que los sistemas y

algoritmos de visión van mejorando día a día tanto en su velocidad como en su eficacia.

Realmente el reconocimiento automático de formas va avanzando a medida que se

desarrollan nuevos métodos que imitan el comportamiento inteligente del ser humano,

desde la inteligencia artificial convencional (IA) hasta las nuevas técnicas de inteligencia

computacional denominadas soft computing, donde se incluyen las redes neuronales, la

lógica difusa, la programación evolutiva y el modelado neuro-difuso.

Page 18: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 8 Maya Santos Manuel

La posibilidad de aplicar la visión computacional en la industria permite reemplazar al

humano en las tareas más monótonas y alienantes del proceso productivo, generalmente en

las tareas de inspección para control de calidad, selección, clasificación, etc. donde el

cansancio y la monotonía del trabajo realizado hacen mella en su eficacia.

Las técnicas de visión y reconocimiento automático de objetos tienen una vinculación muy

importante con la Robótica, pero son necesarios algoritmos rápidos y efectivos que

permitan determinar la posición, distancia, dimensiones de múltiples objetos con los que va

a interactuar el robot, como ejemplos tenemos: el posicionamiento de componentes en la

industria de la electrónica, la perfecta posición de las obleas de silicio para realizar el corte

en la industria de los semiconductores, la soldadura de determinados puntos en la industria

del automóvil, etc.

Las soluciones de la visión computacional para cada aplicación, pueden ser más o menos

complicadas dependiendo de múltiples factores, actualmente no existe, y probablemente no

existirá, una solución única general para todo problema que se plantee, debido a que cada

situación a resolver tiene sus propias dificultades que hay que solventar, la forma de llegar

a conseguir un sistema práctico que solucione el problema planteado, consiste en aplicar

aquellas técnicas de entre todas las conocidas, que mejor se adecuen tanto en efectividad

del reconocimiento como en velocidad.

El aspecto de la velocidad es en este caso muy importante ya que, prácticamente en

cualquier aplicación industrial, se requiere un sistema que funcione en tiempo real, para

ello es necesario estudiar todos los métodos posibles y la forma de realizarlos con la menor

carga computacional, es decir, el menor tiempo de procesado que nos permita acercarnos a

una eficiencia óptima.

Actualmente la visión computacional, está en fase de crecimiento, dada la enorme

complejidad de ésta se van solucionando por etapas problemas cada vez más complicados,

actualmente las líneas de estudio e investigación se dividen en múltiples campos, desde la

visión tridimensional, visión con moción, a la segmentación y agrupamiento de múltiples

objetos diferentes en entornos no controlados, etc.

1.2.1Tipos de configuraciones en los robots.

La arquitectura, definida por el tipo de configuración general del robot, puede ser

metamórfica, el concepto de metamorfismo, de reciente aparición, se ha introducido para

incrementar la flexibilidad funcional de un robot a través del cambio de su configuración

por el propio robot, el metamorfismo admite diversos niveles, desde los más elementales

(cambio de herramienta o de efector final), hasta los más complejos como el cambio o

alteración de algunos de sus elementos o subsistemas estructurales. Los dispositivos y

mecanismos que pueden agruparse bajo la denominación genérica del robot, tal como se ha

indicado, son muy diversos y es por tanto difícil establecer una clasificación coherente de

los mismos que resista un análisis crítico y riguroso, la subdivisión de los robots, con base

en su arquitectura, se hace en los siguientes grupos; poli articulados, móviles, androides,

zoomórficos, híbridos y robots industriales.

Page 19: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 9 Maya Santos Manuel

Poli Articulados.- Bajo este grupo están los robots de muy diversa forma y

configuración, cuya característica común es la de ser básicamente sedentarios

(aunque excepcionalmente pueden ser guiados para efectuar desplazamientos

limitados) y estar estructurados para mover sus elementos terminales en un

determinado espacio de trabajo según uno o más sistemas de coordenadas y con un

número limitado de grados de libertad.

En este grupo se encuentran los manipuladores, los robots industriales, los robots

cartesianos, algunos robots industriales y se emplean cuando es preciso abarcar una

zona de trabajo relativamente amplia o alargada, actuar sobre objetos con un plano

de simetría vertical o deducir el espacio ocupado en el suelo.

Fig. 1.3 Robot poli-articulado

Móviles.- Son robots con gran capacidad de desplazamiento, basados en carros o

plataformas y dotados de un sistema locomotor de tipo rodante, siguen su camino

por telemando o guiándose por la información recibida de su entorno a través de sus

sensores.

Estos robots aseguran el transporte de piezas de un punto a otro de una cadena de

fabricación, guiados mediante pistas materializadas a través de la radiación

electromagnética de circuitos empotrados en el suelo, o a través de bandas

detectadas fotoeléctricamente, pueden incluso llegar a sortear obstáculos y están

dotados de un nivel relativamente elevado de inteligencia.

Fig. 1.4 Robot movil

Page 20: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 10 Maya Santos Manuel

Androides.- Son robots que intentan reproducir total o parcialmente la forma y el

comportamiento cinemática del ser humano, actualmente los androides son todavía

dispositivos muy poco evolucionados y sin utilidad práctica, y destinados,

fundamentalmente, al estudio y experimentación.

Uno de los aspectos más complejos de estos robots y sobre el que se centra la

mayoría de los trabajos, es el de la locomoción bípeda, en este caso, el principal

problema es controlar dinámica y coordinadamente en el tiempo real el proceso y

mantener simultáneamente el equilibrio del robot.

Fig. 1.5 Androide Asimo

Zoomórficos.- Los robots zoomórficos, que considerados en sentido no restrictivo

podrían incluir también a los androides, constituyen una clase caracterizada

principalmente por sus sistemas de locomoción que imitan a los diversos seres

vivos, a pesar de la disparidad morfológica de sus posibles sistemas de locomoción

es conveniente agrupar a los robots zoomórficos en dos categorías principales:

caminadores y no caminadores.

El grupo de los robots zoomórficos no caminadores está muy poco evolucionado,

cabe destacar, entre otros, los experimentos efectuados en Japón basados en

segmentos cilíndricos biselados acoplados axialmente entre sí y dotados de un

movimiento relativo de rotación, en cambio, los robots zoomórficos caminadores

multipedos son muy numerosos y están siendo experimentados en diversos

laboratorios con vistas al desarrollo posterior de verdaderos vehículos todo terreno,

piloteados o autónomos, capaces de evolucionar en superficies muy accidentadas,

las aplicaciones de estos robots serán interesantes en el campo de la exploración

espacial y en el estudio de los volcanes.

Page 21: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 11 Maya Santos Manuel

Fig. 1.6 Robot zoomórfico. El perro AIBO diseñado por Sony

Híbridos.- Estos robots corresponden a aquellos de difícil clasificación cuya

estructura se sitúa en combinación con alguna de las anteriores ya expuestas, por

ejemplo, un dispositivo segmentado articulado y con ruedas, es al mismo tiempo

uno de los atributos de los robots móviles y de los robots zoomórficos, de igual

forma pueden considerarse híbridos algunos robots formados por la yuxtaposición

de un cuerpo formado por un carro móvil y de un brazo semejante al de los robots

industriales, en parecida situación se encuentran algunos robots antropomorfos y

que no pueden clasificarse ni como móviles ni como androides, tal es el caso de los

robots personales.

Fig. 1.7 Robot hibrido

Robot Industrial (Robot Manipulador).- Son máquinas programables de uso

general que tiene algunas características antropomórficas o “humanoides”, las

características humanoides más típicas de los robots actuales es la de sus brazos

móviles, los que se desplazarán por medio de secuencias de movimientos que son

programados para la ejecución de tareas de utilidad.

Fig. 1.8 Robot industrial o Robot manipulador

Page 22: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 12 Maya Santos Manuel

1.2.2 Aplicaciones y Configuraciones de los robots.

En la actualidad se ha generalizado el uso de robots manipuladores en muchas aplicaciones

que requieren movimientos repetitivos sencillos, pero la industria automovilística, que fue

en un principio la pionera en el uso de robots, continua siendo la que más los usa, siendo

los tipos principales de aplicación los siguientes: soldadura de puntos, pintura “spray”,

manipulación de partes de la carrocería, chasis y motor. En ninguna de estas aplicaciones es

necesario el uso de un sistema de visión, siempre y cuando se organice el trabajo en forma

tal que las partes a soldar, pintar, etc. se encuentren siempre en el lugar determinado en el

momento preciso.

Tres aplicaciones mencionadas requieren distintas herramientas (efector final) y forma de

programación:

a) Soldadura de puntos: en este caso la herramienta usada al extremo del brazo es una

pinza de soldar por puntos, el robot se programa generalmente por medio de una

“caja de enseñanza” (teacher box) para que soldé siguiendo un camino determinado

y actuando la pinza cada cierto número de centímetros, las partes a soldar deben

estar en la posición correcta o el robot soldara en puntos desplazados.

La caja de enseñanza tiene un teclado con el cual pueden controlarse las

articulaciones y actuar la herramienta de trabajo en la secuencia deseada por el

operador, las señales producidas por el operador se van entrando en la memoria del

microcomputador controlador del brazo y pueden ser después repetidas un numero

cualquiera de veces.

b) Pintura “Spray”: la herramienta de trabajo es una pistola de pintar, el movimiento no es de punto a punto, sino continúo, en este caso es mas practico tener una réplica

de peso ligero y tamaño natural del robot, con los mismos sensores que este, un

operario especializado mueve la pistola como si estuviera pintado y los

movimientos van entrando, a través de los sensores, a la memoria del

microprocesador.

Al terminar la tarea, el robot real se conecta al microprocesador de control y los

movimientos son replicados fielmente, debido al método de programación descrito,

se usa el término “leading by the nose” en ingles, o sea “guiar por la nariz”.

c) La carga y descarga de piezas podría parecer la tarea más sencilla, sin embargo en

muchos casos resulta la más complicada debido a la dificultad de agarrar y colocar

piezas de forma compleja, la programación es similar a la usada en soldadura de

puntos, caja de enseñanza, en ninguna de estas tareas es necesario controlar la

trayectoria de la herramienta automáticamente, si se usa un sistema de visión u otro

tipo de sensor externo, este control se hace necesario, ya que la trayectoria

dependerá de la información recibida por el microprocesador.

Page 23: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 13 Maya Santos Manuel

Un manipulador tiene en general 5 o 6 grados de libertad, de los cuales tres corresponden

al brazo mismo y los otros a la “mano”, las configuraciones más usadas en la práctica son

cuatro: cartesiana, cilíndrica, angular y polar.

Configuración Cartesiana: Posee tres movimientos lineales, es decir, tiene tres

grados de libertad, los cuales corresponden a los movimientos localizados en los

ejes X, Y y Z, los movimientos que realiza este robot entre un punto y otro son

con base en interpolaciones lineales, interpolación, en este caso, significa el tipo

de trayectoria que realiza el manipulador cuando se desplaza entre un punto y

otro, a la trayectoria realizada en línea recta se le conoce como interpolación

lineal y a la trayectoria hecha de acuerdo con el tipo de movimientos que tienen

sus articulaciones se le llama interpolación por articulación.

Fig. 1.9 Configuración cartesiana para un Robot

Configuración cilíndrica: Puede realizar dos movimientos lineales y uno

rotacional, o sea, que presenta tres grados de libertad, el robot de configuración

cilíndrica está diseñado para ejecutar los movimientos conocidos como

interpolación lineal e interpolación por articulación, la interpolación por articulación

se lleva a cabo por medio de la primera articulación, ya que ésta puede realizar un

movimiento rotacional.

Fig. 1.10 Configuracion cilindrica para un Robot

Page 24: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 14 Maya Santos Manuel

Configuración polar: Tiene varias articulaciones, cada una de ellas puede realizar

un movimiento distinto: rotacional, angular y lineal; este robot utiliza la

interpolación por articulación para moverse en sus dos primeras articulaciones y la

interpolación lineal para la extensión y retracción.

Fig. 1.11 Configuracion polar para un Robot

Configuración angular (o de brazo articulado): Presenta una articulación con

movimiento rotacional y dos angulares, aunque el brazo articulado puede realizar el

movimiento llamado interpolación lineal (para lo cual requiere mover

simultáneamente dos o tres de sus articulaciones), el movimiento natural es el de

interpolación por articulación, tanto rotacional como angular, además de las cuatro

configuraciones clásicas mencionadas, existen otras configuraciones llamadas no

clásicas.

Fig. 1.12 Configuracion angular de brazo articulado

El ejemplo más común de una configuración no clásica lo representa el robot tipo SCARA,

cuyas siglas significan: Selective apliance arm robot for assembly, este brazo puede realizar

movimientos horizontales de mayor alcance debido a sus dos articulaciones rotacionales, el

robot de configuración SCARA también puede hacer un movimiento lineal (mediante su

tercera articulación).

Page 25: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 15 Maya Santos Manuel

Fig. 1.13 Configuración SCARA para un Robot

1.2.3 Avances de la robótica en otras áreas.

Existen robots manipuladores, como los brazos que brindan varios grados de libertad a los

astronautas para hacer reparaciones y experimentos en el espacio, algunos imitan el

comportamiento de los insectos, hay octópodos y hexápodos de varios materiales y robots

que imitan a las serpientes, que se usan en exploraciones dentro de tuberías, también hay

bípedos, monópodos y robots de busto, que pueden tener reconocimiento visual y de voz, y

procesan información, pero tienen la limitación de estructura, el grupo que quizás sea el

más conocido por su aspecto, que semeja la figura humana corresponde a los androides.

La rama de la medicina es una de las más beneficiadas con la generación y mejoras de los

robots, una de las cuales es el robot Da Vinci, lo último en tecnología médica, viene de la

mano del robot cirujano al cual sus creadores han bautizado como Da Vinci.

Da Vinci, tiene 800 “robots similares” repartidos en varias partes del mundo y han sido

fabricados por el Intuitive Surgical, quienes han dicho que hasta la fecha dicho robot ha

realizado 500 mil operaciones de las cuales no se ha registrado ninguna muerte hasta el

momento.

Da Vinci posee 7 grados de libertad de movimientos, es decir, puede realizar 117,649

movimientos, esto es el 0.019% del total de la capacidad del brazo del ser humano, esta

cifra es muy superior comparada con los 3 grados de libertad y 729 movimientos que

podemos realizar con los instrumentos de cirugía laperiscópica convencional, y que

representa el 0.00012% del total de la capacidad del brazo humano y 0.61 % de la

capacidad del robot Da Vinci.

El funcionamiento de los brazos robóticos del sistema Da Vinci es espectacular, los dos

primeros, que representan la mano izquierda y derecha del cirujano, sirven para manejar

una serie de instrumentos quirúrgicos diseñados específicamente para esta máquina,

denominados Endo Wrist, mientras un tercero, que incorpora un endoscopio con dos

sofisticadas mini-cámaras de vídeo de alta resolución tridimensional, permite la

visualización interna de toda la operación; es como sumergir la cabeza dentro del cuerpo

del paciente.

Page 26: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 16 Maya Santos Manuel

Si el cirujano necesita un mayor grado de detalle de la zona a intervenir, el sistema puede

aumentar hasta en 20 veces la imagen original o incluso, resaltar de forma automática una

determinada zona, todo ello, sin una perceptible pérdida de nitidez además, este tercer

brazo, permite al cirujano cambiar, mover y rotar fácilmente el campo visual del

endoscopio, lo que representa una enorme ventaja para el médico, por último, la cuarta

extremidad de la máquina, se dedica a la realización de las tareas propias de un asistente de

quirófano, separando tejidos durante la operación, o suturando con enorme habilidad las

heridas de las incisiones.

Fig.1.14 Robot cirujano Da Vinci

1.3 La Robótica en México y en el Mundo.

Los manipuladores son utilizados para diversas aplicaciones, entre las que se cuentan: la

industria automotriz, como soldadoras y ensambladoras, la industria espacial, lugares donde

la presencia humana se hace riesgosa, como manipulación de material nuclear y/o químico,

desarrollo de tareas en sitios de difícil alcance, etc.

Las áreas de aplicación como porcentaje del total de la población de robots, según datos de

RIA (Robotics Industries Association):

Soldadura por Puntos 29%

Actividades de Corte 20%

Soldadura por Arco Eléctrico 12%

Remoción de Material 06%

Ensamble 03%

En la actualidad en nuestro país la principal aportación de los manipuladores robóticos en la

industria mexicana según datos de ABB de México, en su división de robótica, los usos

industriales de los robots manipuladores son los siguientes:

Page 27: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 17 Maya Santos Manuel

Soldadura por Arco Eléctrico 38%

Soldadura por Puntos 22%

Manipulación y Transporte 15%

Tareas Menos Comunes 15%

Aplicación de Pintura 10%

Durante el período de 2005 a 2008, la Federación Internacional de Robots (IFR por sus

siglas en inglés) opina, a través de varios de sus reportes publicados, que esta industria

presenta importantes crecimientos, aunque la demanda para los robots dentro de la industria

del automóvil en Europa, Norteamérica y Japón puede disminuir, todavía existe una

demanda creciente en todos los mercados de manufactura en el mundo.

Como resultado de los progresos tecnológicos, crecerán por todo el mundo las instalaciones

de robots en la industria en general, especialmente la industria de envase y embalaje, el

sector alimenticio, la industria de maquinaria, la industria del caucho y plásticos.

Además, las mejoras en la tecnología de robots, tales como los nuevos sistemas de control y

los sistemas de seguridad, que permiten operaciones interactivas más confiables entre el

hombre y la máquina, y las mejoras en los sensores de visión, impulsarán el aumento del

número de futuras instalaciones de robots, el mercado mundial de robots industriales ha

proyectado un crecimiento de 95,400 unidades vendidas en 2004 a 121,000 en el año 2008,

con un crecimiento promedio anual de 6.1%.

Para el mes de septiembre de ese año, únicamente las compañías norteamericanas

solicitaron un total de 12,763 robots, valuados en $844,5 millones de dólares, lo cual

representó un aumento del 33% en unidades y el 21% en valor respecto del mismo período

en 2006, si se incluyen las órdenes de compra de empresas extranjeras, las ventas totales

para las compañías norteamericanas fabricantes de robots sumaron 13,866 unidades

valuadas en $905,6 millones de dólares, un salto del 34% en volumen y el 22% en valor.

Fig. 1.15 Robots pintores en una planta automotriz

Page 28: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 18 Maya Santos Manuel

Tanto la RIA como la IFR, coinciden en que actualmente en Estados Unidos están

trabajando unos 180,000 robots, lo cual coloca a este país en segundo lugar después de

Japón donde operan unos 355 mil, ambas instituciones, estiman que el número de robots

industriales operando en todo el mundo aumentará de 848.000 unidades en el año 2004 a un

millón en el 2008, representando un índice de crecimiento anual promedio de 5.3%.

No existen estudios previos al que aquí presentamos sobre el mercado de Robots y

Automatización en México, sin embargo, en base a nuestras estadísticas, en el Instituto

Mexicano del Plástico Industrial estimamos que para finales del 2009 habrá

aproximadamente 12,000 unidades de robots industriales instalados en México, de los

cuales más del 70% se encuentran en el sector automotriz.

Asimismo, se calcula que alrededor de 600 empresas son las principales usuarias de robots

de distintas formas, tamaños y modelos que hay en el país, generalmente se trata de

empresas transnacionales que los integraron para mantener la competitividad de su planta o

por decisión del corporativo para automatizar sus procesos.

Fig. 1.16 Robot manipulador de ABB (ABB México)

Por su parte, Wittmann México está inaugurando sus nuevas instalaciones, donde además

del servicio técnico que ofrece a sus clientes, cuenta con una sala de exhibición permanente

de todos los sistemas que ofrece y un área para capacitación tanto para prácticas de

alumnos universitarios, como de personal trabajador de sus clientes actuales.

Fig. 1.17 Robots manipuladores en el CNDA (Robots para la Educacion en México)

Page 29: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 19 Maya Santos Manuel

Debido a la rápida evolución hoy, los robots son demasiado exitosos y demasiado

económicos para ignorarlos, y desde el punto de vista de competitividad, debemos esperar

el desarrollo de nuevos productos cada vez más rápidos, y en la mayoría de los casos con

calidad más alta y precios de venta inferiores, según muchos expertos, un robot está

disponible hoy por el 20% del precio que tenía en los años 70´s, y tienen una capacidad en

general mucho más extensa que la disponible hace 30 años.

Hoy en día ya son comunes los controladores para multi-robot, y algunas unidades se

construyen con dos brazos sobre la misma base, la movilidad y la flexibilidad para acciones

de elevación, desplazamiento, visión y otros movimientos, así como los dispositivos de

sensor, permiten que los robots puedan utilizarse en equipos viejos de modos nuevos y

diferentes.

“En esta época de altos costos de energía, desequilibrios comerciales y luchas vigorosas

para ganar participación de mercado, los robots son una de las pocas opciones que los

países desarrollados y en vías de desarrollo, como México, tienen para ser competitivos

ante la competencia de las naciones emergentes manufactureras”, (según Alex Kramer)

De la mano de los robots no hay que temer el futuro, ya que “el futuro para la industria será

más brillante en la medida en que más compañías comiencen a considerar el potencial de la

robótica y las tecnologías relacionadas con la automatización de sus operaciones”

(conclusiones de Carlos Chávez).

Page 30: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 20 Maya Santos Manuel

Capítulo II

“Marco Teórico”

Page 31: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 21 Maya Santos Manuel

2.1 Robótica Industrial.

En la robótica industrial se trata fundamentalmente de dotar de flexibilidad a los procesos

manteniendo al mismo tiempo la productividad que se consigue con una máquina

automática especializada; la robótica industrial, desde sus orígenes estuvo muy orientada a

las funciones de manipulación, de hecho, suele considerarse que un robot industrial es

esencialmente un robot manipulador.

Los robots industriales surgen de la convergencia de tecnologías del control, de la

automatización, del control de máquinas herramientas, de los manipuladores tele-operados

y de la aplicación de computadoras en tiempo real.

Mediante el control y la automatización de procesos se pretende concebir y realizar

ingenios que permitan gobernar un proceso sin la intervención de agentes exteriores,

especialmente humanos, en particular, se presenta el problema de seguimiento automático

de señales de referencia mediante servosistemas; estos servosistemas generan

automáticamente señales de control que tratan de anular la diferencia entre la señal de

referencia y la señal medida en el proceso u objeto que se pretende controlar.

Tanto los servosistemas como los reguladores se basan en el principio de la

retroalimentación, las señales de referencia se comparan con medidas de variables del

proceso u objeto que se pretende controlar y su diferencia se emplea para generar acciones

de control sobre el propio proceso u objeto en los sistemas de control automático esta

cadena cerrada de acción-medida-acción se realiza sin intervención del hombre

tradicionalmente, en la realización de sistemas de control automático se han empleado

diversas tecnologías tales como la neumática, hidráulica y posteriormente, la eléctrica.

2.2 Esquema general del sistema de un Robot Industrial.

Desde el punto de vista del procesamiento de la información, en robótica se involucran

funciones de control de movimientos, percepción y planificación, en un sentido amplio, el

sistema de control involucra tantos bucles de retroalimentación de la información

suministrada por los sensores internos, como del entorno.

Fig. 2.1 Robot y su interacción con el entorno.

Page 32: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 22 Maya Santos Manuel

Los sensores internos miden el estado de la estructura mecánica y giros o desplazamientos

relativos entre articulaciones, velocidades, fuerzas y pares, estos sensores permiten cerrar

bucles o ciclos de control de las articulaciones de la estructura mecánica.

Los sensores externos permiten dotar de sentidos al robot, la información que suministran

es utilizada por el sistema de percepción para aprehender la realidad del entorno, los

sistemas de percepción sensorial hacen posible que un robot pueda adaptar

automáticamente su comportamiento en función de las variaciones que se producen en su

entorno, haciendo frente a situaciones imprevistas, para ello el sistema de control del robot

incorpora bucles o ciclos de retroalimentación sensorial del entorno, generando

automáticamente acciones en función de la comparación de dicha información sensorial

con patrones de referencia.

El desarrollo de sistemas de percepción en robótica surge a partir de los progresos

tecnológicos en sensores tales como los de visión, tacto e incluso de audición, pero la

percepción involucra no solo la captación de la información sensorial, sino también su

tratamiento e interpretación, por lo cual, es necesario realizar una abstracción a partir de un

cierto conocimiento previo del entorno; es claro que la complejidad de la percepción

artificial depende de lo estructurado que este dicho entorno.

2.3 Robots Manipuladores.

La mayor parte de los robots industriales actuales son esencialmente brazos articulados,

según la definición del “Robot Institute of America”, un robot industrial es “Un

manipulador programable multifuncional diseñado para mover materiales, piezas,

herramientas o dispositivos especiales, mediante movimientos variados, programados

para la ejecución de distintas tareas”.

Fig. 2.2 Robot Manipulador de ABB (ABB México).

En la robótica subyace la idea de substituir equipos capaces de automatizar operaciones

concretas por maquinas de uso más general que puedan realizar distintas tareas, la

realización por programa de las funciones de control ofrece mucha mayor flexibilidad, y la

posibilidad de implantar funciones complejas necesarias para controlar el manipulador.

Page 33: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 23 Maya Santos Manuel

2.3.1 Sistema básico de un robot manipulador.

Un robot manipulador operando individualmente necesita como mínimos los siguientes

componentes:

a) El brazo (robot) consistente en un sistema de articulaciones mecánicas (eslabones,

engranajes, transmisión por cadena o correa), actuadores (motores eléctricos o

hidráulicos) y sensores de posición usados en el sistema de control de bucle cerrado.

b) El controlador, generalmente basado en microcomputador, que recibe las señales

de los sensores de posición y envía comandos a la fuente de potencia controlada (o

unidad conversora).

c) La unidad conversora de potencia que alimenta los motores que actúan las

articulaciones.

Dependiendo del tipo de aplicación, un robot puede contar también con sensores externos,

de los cuales el más poderoso es un sistema de visión consistente en cámara de video,

interfaz y microcomputadora procesadora de imágenes, la información obtenida por este

sistema pasa al microcontrolador que controla el robot y es usado para dirigir el

movimiento de este, sin embargo este sistema de visión en la industria no siempre resulta el

mas adecuado, por su costo, complejidad, etc. Por lo que se toman en cuenta opciones más

sencillas y económicas que cumplan con las necesidades del proceso, unas de estas

opciones es el sistema de detección táctil a base de sensores.

Fig 2.3 Sistema Basico de un Robot Manipulador

2.3.2 Sensores y Sistemas de Control.

Los sistemas de control de robots pueden considerarse funcionalmente descompuestos

según una estructura jerárquica, en el nivel inferior, se realizan las tareas de servo-control

y supervisión de las articulaciones, la mayor parte de los robots industriales actuales

emplean servomecanismos convencionales con realimentación de posición y velocidad para

generar señales de control sobre los actuadores de las articulaciones; los parámetros del

controlador son fijos aunque varíen significativamente las condiciones de trabajo con la

carga o con el propio movimiento, las cargas inerciales, acoplamientos entre articulaciones

y efectos de gravedad son todos dependientes de la posición. El problema se amplía al

aumentar la velocidad, como resultado, en la mayor parte de los robots industriales actuales

la velocidad de operación debe ser pequeña.

Page 34: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 24 Maya Santos Manuel

El segundo nivel de control se ocupa de la generación de trayectorias, entendiendo por tal la

evolución del órgano terminal cuando se desplaza de una posición a otra, el generador de

trayectorias debe suministrar a los servomecanismos las referencias apropiadas para

conseguir la evolución deseada del órgano terminal a partir de la especificación del

movimiento deseado en el espacio de la tarea, para obtener las referencias que

corresponden a las articulaciones en un determinado punto del espacio de trabajo, es

necesario resolver el modelo geométrico inverso que es no lineal.

Los niveles superiores se ocupan de la comunicación con el usuario, interpretación de los

programas, percepción sensorial y planificación, en la robótica industrial se han integrado

los progresos en el control por computadora, entre estos destacan los trabajos de Shannon y

Minsky que, en 1958 propusieron un dispositivo al que denominaron “Sensor-Controlled

robot”, que consistía en un teleoperador equipado con distintos sensores conectados a una

computadora que le suministraba información suficiente para decidir las acciones

necesarias en orden a alcanzar un determinado objetivo, aunque el dispositivo no llego a

realizarse motivo a otros investigadores tales como Ernest en 1961, que en su tesis doctoral

en el MIT, construyo un robot con sensores de tacto en la mano, que podía ser programado

para realizar tareas tales como la localización, agarre y transporte y descarga de pequeñas

piezas en cajas, este robot puede ser considerado como el primero controlado mediante

sensores externos, se programaba mediante instrucciones parecidas a las de un lenguaje

ensamblador, incorporando órdenes relativas a la información de los sensores de tacto.

Se progresa en métodos de cálculo de trayectorias con generación de referencias a los

servos de las articulaciones en lenguajes de programación de mayor nivel, que incorporan

primitivas relaciones con sensores de percepción del entorno y especificación de

movimientos en coordenadas cartesianas. Por lo que respecta a la planificación de caminos

libres de obstáculos, el método típico se basa en construir una estructura de datos que

represente la geometría del espacio de trabajo o las restricciones existentes.

Conviene poner de manifiesto las importantes demandas en teoría de control, sistemas de

percepción y aprendizaje, sistemas informáticos en tiempo real, y nuevos mecanismos, que

se requieren para resolver los problemas planteados por el control de estructuras articuladas

y la manipulación de objetos.

Se han aplicado también técnicas de control tales como las basadas en redes neuronales, y

otras estructuras de control inteligente, que están permitiendo resolver problemas que son

de elevada complejidad con métodos tradicionales.

2.4 Cinemática de los Robots Manipuladores.

La cinemática de los robots estudia el movimiento del mismo con respecto a un sistema de

referencia, así la cinemática se interesa por la descripción analítica del movimiento espacial

del robot como una función del tiempo y en particular por las relaciones entre la posición y

la orientación del extremo final del robot con los valores que toman sus coordenadas

articulares, existen dos problemas fundamentales para resolver la cinemática del robot, el

primero de ellos se conoce como el problema cinemático directo, consiste en determinar

Page 35: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 25 Maya Santos Manuel

cuál es la posición y orientación del extremo final del robot con respecto a un sistema de

coordenadas que se toma como referencia, conocidos los valores de las articulaciones y los

parámetros geométricos de los elementos del robot; el segundo denominado problema

cinemático inverso, resuelve la configuración que debe adoptar el robot para una posición y

orientación del extremo conocidas. Denavit y Hartenberg propusieron un método

sistemático para descubrir y representar la geometría espacial de los elementos de una

cadena cinemática, y en particular de un robot, con respecto a un sistema de referencia fijo,

este método utiliza una matriz de transformación homogénea para descubrir la relación

espacial entre dos elementos rígidos adyacentes, reduciéndose el problema cinemático

directo a encontrar una matriz de transformación homogénea 4 X 4 que relacione la

localización espacial del robot con respecto al sistema de coordenadas de su base.

Por otra parte, la cinemática del robot trata también de encontrar las relaciones entre las

velocidades del movimiento de las articulaciones y las del extremo, esta relación viene dada

por el modelo diferencial expresado mediante la matriz Jacobiana.

Cinemática directa = = >

Valor de las

coordenadas

Articulares

(q0, q1, ... qn)

Posición y

orientación del

extremo del robot

(x, y, z, , ß, )

< = = Cinemática inversa

Tabla 2.1 Diagrama entre Cinemática Directa e Inversa.

El movimiento relativo en las articulaciones resulta en el movimiento de los elementos que

posicionan la mano en una orientación deseada, en la mayoría de las aplicaciones de

robótica, se esta interesado en la descripción espacial del efector final del manipulador con

respecto a un sistema de coordenadas de referencia fija.

Fig. 2.4 Esquema del manipulador PUMA 600.

Page 36: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 26 Maya Santos Manuel

Para aumentar la destreza en las repeticiones de los robots se usan las coordenadas

redundantes para definir tareas adicionales, el mando de configuración está surgiendo como

una manera eficaz de controlar los movimientos de un robot que tiene más grados de

libertad y en el cual es necesario definir la trayectoria del efector del extremo y / o el objeto

para ser manipulado, pueden usarse los grados extras o redundantes de libertad para dar

destreza de robot y versatilidad, en mando de configuración, la configuración del robot se

representa matemáticamente por un juego de variables de configuración que son un vector

de coordenadas generalizado y que es más pertinente a la tarea global que es el vector de

coordenadas de la articulación, que aparecen en los acercamientos convencionales a

controlar.

El vector de la coordenada generalizada consiste en las coordenadas del efector del

extremo, en el espacio de la tarea, más varias funciones de cinemática que involucran

grados redundantes de libertad, la tarea básica del sistema de control es hacer las

coordenadas del efector del extremo seguir la trayectoria deseada, las funciones de la

cinemática pueden seleccionarse para definir una tarea adicional por ejemplo, la anulación

de obstáculos u optimización de la cinemática para reforzar la manipulación, en efecto la

tarea adicional define la trayectoria en los grados redundantes de libertad, las variables de

configuración pueden usarse en un esquema de control adaptable que no exige manipular el

conocimiento del modelo matemático complicado de la dinámica del robot o los parámetros

del objeto.

2.4.1 Cinemática Directa.

Se utiliza fundamentalmente el álgebra vectorial y matricial para representar y describir la

localización de un objeto en el espacio tridimensional con respecto aun sistema de

referencia fijo, dado que un robot se puede considerar como una cadena cinemática

formada por objetos rígidos o eslabones unidos entre sí mediante articulaciones, se puede

establecer un sistema de referencia fijo situado en la base del robot y describir la

localización de cada uno de los eslabones con respecto a dicho sistema de referencia, de

esta forma, el problema cinemático directo se reduce a encontrar una matriz de

transformación homogénea T que relacione la posición y orientación del extremo del robot

respecto del sistema de referencia fijo situado en la base del mismo, esta matriz T será

función de las coordenadas articulares.

Fig. 2.5 Representación del Manipulador para encontrar la Matriz de Transformación Homogénea T

Page 37: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 27 Maya Santos Manuel

Un sistema de control de un robot causa a un manipulador remoto, seguir una trayectoria de

referencia estrechamente en un marco de referencia cartesiano en el espacio de trabajo, sin

el recurso a un modelo matemático intensivo de dinámica del robot y sin el conocimiento

del robot y parámetros de carga; el sistema, derivado de la teoría lineal multivariable,

utiliza a los manipuladores delanteros relativamente simples y controladores de

retroalimentación con modelo adaptable de referencia del control.

El sistema requiere dimensiones de posición y velocidad del extremo del manipulador o

efector, estos pueden obtenerse directamente de los sensores ópticos o por cálculo, que

utiliza las relaciones de la cinemática conocidas entre el manipulador modelado y el

extremo de la juntura de la posición del efector, derivando las ecuaciones de control las

ecuaciones diferenciales no lineales acopladas a la dinámica del robot, expresan primero la

forma general de la cinemática, entonces la liberalización por cálculo de perturbaciones

sobre una especifica operación del punto en las coordenadas cartesianas del extremo del

efector.

El modelo matemático resultante es un sistema multivariable lineal de orden de 2n (donde

n = número de coordenadas espaciales independientes del manipulador) esto expresa la

relación entre los incrementos del actuador de n voltajes de control (las entradas) y los

incrementos de las coordenadas de n, la trayectoria de extremo del efector (los

rendimientos), la trayectoria del efector incrementa la referencia, la trayectoria se

incrementa: esto requiere la retroalimentación independiente y controladores de

manipulación; para este propósito, le basta aplicar posición y retroalimentación de

velocidad a través de la matriz de n x n posición y velocidad, la matriz de ganancia de

retroalimentación.

La resolución de la cinemática directa consiste en encontrar las relaciones que permiten

conocer la localización espacial del extremo del robot a partir de los valores de sus

coordenadas articulares.

Fig. 2.6 Relaciones de Cinemática Directa para conocer la localización espacial del Efector Final o

Extremo del Robot

Page 38: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 28 Maya Santos Manuel

Así, si se han escogido coordenadas cartesianas y ángulos de Euler para representar la

posición y orientación del extremo de un robot de seis grados de libertad, la solución al

problema cinemático directo vendrá dada por las relaciones:

x = Fx ( q1,q2,q3,q4,q5,q6 )

y = Fy ( q1,q2,q3,q4,q5,q6 )

z = Fz ( q1,q2,q3,q4,q5,q6 ) (2.1)

= F( q1,q2,q3,q4,q5,q6 )

ß = Fß ( q1,q2,q3,q4,q5,q6 )

= F( q1,q2,q3,q4,q5,q6 )

La obtención de estas relaciones no es en general complicada, siendo incluso en ciertos

casos (robots de pocos grados de libertad) fácil de encontrar mediante simples

consideraciones geométricas, por ejemplo, para el caso de un robot con 2 grados de libertad

es fácil comprobar que:

X = I1 cosq1 + I2 cos( q1 + q2 )

Y = I1 cosq1 + I2 cos( q1 + q2 ) (2.2)

Para robots de más grados de libertad puede plantearse un método sistemático basado en la

utilización de las matrices de transformación homogénea, en general un robot de n grados

de libertad está formado por “n” eslabones unidos por “n” articulaciones, de forma que

cada par articulación-eslabón constituye un grado de libertad, a cada eslabón se le puede

asociar un sistema de referencia solidario a el y utilizando las transformaciones

homogéneas, es posible representar las rotaciones y traslaciones relativas entre los distintos

eslabones que componen el robot.

Fig. 2.7 Asociación de referencia

Normalmente, la matriz de transformación homogénea que representa la posición y

orientación relativa entre los sistemas asociados a dos eslabones consecutivos del robot se

le suele denominar (i-1)1/Ai, así pues, 0Ai describe la posición y orientación del sistema de

referencia solidario al primer eslabón con respecto al sistema de referencia solidario a la

base, 1A2 describe la posición y orientación del segundo eslabón respecto del primero, etc.

Page 39: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 29 Maya Santos Manuel

Del mismo modo, denominando 0Ak a las matrices resultantes del producto de las matrices

(i-1)Ai con i desde 1 hasta k, se puede representar de forma total o parcial la cadena

cinemática que forma el robot, así por ejemplo, la posición y orientación del sistema

solidario con el segundo eslabón del robot con respecto al sistema de coordenadas de la

base se puede expresar mediante la matriz 0A2:

0A2 = 0A1 ( 1A2 ) (2.3)

De manera análoga, la matriz 0A3 representa la localización del sistema del tercer eslabón:

0A3 = 0A1 ( 1A2 )( 2A3 ) (2.4)

Cuando se consideran todos los grados de libertad, a la matriz 0An se le suele denominar T,

así dado un robot de seis grados de libertad, se tiene que la posición y orientación del

eslabón final vendrá dada por la matriz T:

T = 0A6 = 0A1 ( 1A2 )( 2A3 )( 3A4 )( 4A5 )( 5A6 ) (2.5)

Aunque para descubrir la relación que existe entre dos elementos contiguos se puede hacer

uso de cualquier sistema de referencia ligado a cada elemento, la forma habitual que se

suele utilizar en robótica es la representación de Denavit-Hartenberg.

Denavit-Hartenberg propusieron en 1955 un método matricial que permite establecer de

manera sistemática un sistema de coordenadas (Si) ligado a cada eslabón i de una cadena

articulada, pudiéndose determinar a continuación las ecuaciones cinemáticas de la cadena

completa.

Fig. 2.8 Sistemas de Coordenadas de Denavit-Hartenberg

Según la representación D-H, escogiendo adecuadamente los sistemas de coordenadas

asociados para cada eslabón, será posible pasar de uno al siguiente mediante 4

transformaciones básicas que dependen exclusivamente de las características geométricas

del eslabón.

Estas transformaciones básicas consisten en una sucesión de rotaciones y traslaciones que

permitan relacionar el sistema de referencia del elemento i con el sistema del elemento i-1.

Page 40: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 30 Maya Santos Manuel

1000

00

00

0001

1000

0100

0010

001

1000

100

0010

0001

1000

0100

00

00

ii

ii

i

i

ii

ii

cs

sc

a

d

cs

sc

1000

0 iii

iiiiiii

iiiiiii

dcs

sacsccs

cassscc

Las transformaciones en cuestión son las siguientes:

1) Rotación alrededor del eje Zi-1 un ángulo .

2) Traslación a lo largo de Zi-1 una distancia di; vector di ( 0,0,di ).

3) Traslación a lo largo de Xi una distancia ai; vector ai ( 0,0,ai ).

4) Rotación alrededor del eje Xi, un ángulo i.

Dado que el producto de matrices no es conmutativo, las transformaciones se han de

realizar en el orden indicado. De este modo se tiene que:

),(),(),(),( 11

1

iiiiiiiii

i xRaxDdzDzRA

(2.6)

Y realizando el producto de matrices:

(2.7)

(2.8)

Donde i, ai, di,i, son los parámetros D-H del eslabón i, de este modo, basta con

identificar los parámetros i, ai, di, i, para obtener matrices A y relacionar así todos y cada

uno de los eslabones del robot, como se ha indicado, para que la matriz i-1Ai, relacione los

sistemas (Si) y (Si-1), es necesario que los sistemas se hayan escogido de acuerdo a unas

determinadas normas, estas junto con la definición de los 4 parámetros de Denavit-

Hartenberg, conforman el siguiente algoritmo para la resolución del problema cinemático

directo.

2.4.1.1 Algoritmo de Denavit- Hartenberg para la obtención del modelo.

DH1.Numerar los eslabones comenzando con 1 (primer eslabón móvil de la cadena)

y acabando con n (ultimo eslabón móvil), se numerara como eslabón 0 a la base fija

del robot.

DH2.Numerar cada articulación comenzando por 1 (la correspondiente al primer

grado de libertad y acabando en n).

DH3.Localizar el eje de cada articulación, si esta es rotativa, el eje será su propio

eje de giro, si es prismática, será el eje a lo largo del cual se produce el

desplazamiento.

Page 41: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 31 Maya Santos Manuel

DH4.Para ir de 0 a n-1, situar el eje Zi, sobre el eje de la articulación i+1.

DH5.Situar el origen del sistema de la base (S0) en cualquier punto del eje Z0, los

ejes X0 e Y0 se situaran dé modo que formen un sistema dextrógiro con Z0.

DH6.Para ir de 1 a n-1, situar el sistema (Si) (solidario al eslabón i) en la

intersección del eje Zi con la línea normal común a Zi-1 y Zi, si ambos ejes se

cortasen se situaría (Si) en el punto de corte, si fuesen paralelos (Si) se situaría en la

articulación i+1.

DH7.Situar Xi en la línea normal común a Zi-1 y Zi.

DH8.Situar Yi de modo que forme un sistema dextrógiro con Xi y Zi.

DH9.Situar el sistema (Sn) en el extremo del robot de modo que Zn coincida con la

dirección de Zn-1 y Xn sea normal a Zn-1 y Zn.

DH10.Obtener Өi como el ángulo que hay que girar en torno a Zi-1 para que Xi-1 y

Xi queden paralelos.

DH11.Obtener Di como la distancia, medida a lo largo de Zi-1, que habría que

desplazar (Si-1) para que Xi y Xi-1 quedasen alineados.

DH12.Obtener Ai como la distancia medida a lo largo de Xi (que ahora coincidiría

con Xi-1) que habría que desplazar el nuevo (Si-1) para que su origen coincidiese con

(Si).

DH13.Obtener ai como el ángulo que habría que girar entorno a Xi (que ahora

coincidiría con Xi-1), para que el nuevo (Si-1) coincidiese totalmente con (Si).

DH14.Obtener las matrices de transformación i-1

Ai.

DH15.Obtener la matriz de transformación que relaciona el sistema de la base con

el del extremo del robot T = 0Ai, 1A2... n-1An.

DH16.La matriz T define la orientación (sub-matriz de rotación) y posición (sub-

matriz de traslación) del extremo referido a la base en función de las n coordenadas

articulares.

Fig. 2.9 Sistema de referencia según Denavit-Hartenberg.

2.4.2 Cinemática Inversa.

El objetivo del problema cinemático inverso consiste en encontrar los valores que deben

adoptar las coordenadas articulares del robot q = (q1, q2,..., qn) exp. T para que su extremo

se posicione y oriente según una determinada localización espacial.

Page 42: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 32 Maya Santos Manuel

Así como es posible abordar el problema cinemático directo de una manera sistemática a

partir de la utilización de matrices de transformación homogéneas, e independientemente de

la configuración del robot, no ocurre lo mismo con el problema cinemático inverso, siendo

el procedimiento de obtención de las ecuaciones fuertemente dependiente de la

configuración del robot.

Fig. 2.10 Relaciones de Cinemática Inversa para encontrar los valores que deben adoptar las coordenadas

articulares del robot

Se han desarrollado algunos procedimientos genéricos susceptibles de ser programados, de

modo que una computadora pueda, a partir del conocimiento de la cinemática del robot

(con sus parámetros de DH, por ejemplo) obtener el conjunto de valores articulares que

posicionan y orientan su extremo, el inconveniente de estos procedimientos es que se trata

de métodos numéricos iterativos, cuya velocidad de convergencia e incluso su convergencia

en si no está siempre garantizada.

A la hora de resolver el problema cinemático inverso es mucho más adecuado encontrar

una solución cerrada. Esto es, encontrar una relación matemática explicita de la forma:

,,,,,( zyxFkqk K= 1…..n (grados de libertad). (2.9)

Este tipo de solución presenta, entre otras, las siguientes ventajas:

1) En muchas aplicaciones, el problema cinemático inverso ha de resolverse en tiempo

real (por ejemplo, en el seguimiento de una determinada trayectoria), una solución

de tipo iterativo no garantiza tener la solución en el momento adecuado.

2) Al contrario de lo que ocurría en el problema cinematico directo, con cierta

frecuencia la solución del problema cinemático inverso no es única; existiendo

diferentes conjuntos de (q1,...,qn) exp. T que posicionan y orientan el extremo del

robot de mismo modo; en estos casos una solución cerrada permite incluir

determinadas reglas o restricciones que aseguren que la solución obtenida sea la

más adecuada posible.

Page 43: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 33 Maya Santos Manuel

1000

paon

Tij

No obstante, a pesar de las dificultades comentadas, la mayor parte de los robots poseen

cinemáticas relativamente simples que facilitan en cierta medida la resolución de su

problema cinemático inverso.

Por ejemplo si se consideran solo tres primeros grados de libertad de muchos robots, estos

tienen una estructura planar, esto es, los tres primeros elementos quedan contenidos en un

plano, esta circunstancia facilita la resolución del problema, asimismo en muchos robots se

da la circunstancia de que los tres grados de libertad últimos, dedicados fundamentalmente

a orientar el extremo del robot, correspondan a giros sobre los ejes que se cortan en un

punto.

De nuevo esta situación facilita el cálculo de los valores de (q1,...,qn)exp. T

correspondiente a la posición y orientación deseadas, por lo tanto, para los casos citados y

otros, es posible establecer ciertas pautas generales que permitan plantear y resolver el

problema cinemático inverso de una manera sistemática.

Los métodos geométricos permiten tener normalmente los valores de las primeras variables

articulares, que son las que consiguen posicionar el robot, para ello utilizan relaciones

trigonometrías y geométricas sobre los elementos del robot, se suele recurrir a la resolución

de triángulos formados por los elementos y articulaciones del robot. Como alternativa para

resolver el mismo problema se puede recurrir a manipular directamente las ecuaciones

correspondientes al problema cinemático directo, es decir, puesto que este establece la

relación:

(2.10)

Fig. 2.11 Robot Articular para el estudio de su Cinemática Inversa.

Donde los elementos Tij son funciones de las coordenadas articulares (q1,...,qn)exp. T, es

posible pensar que mediante ciertas combinaciones de las ecuaciones planteadas se puedan

despejar las n variables articulares qi en función de las componentes de los vectores n, o, a

y p.

Page 44: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 34 Maya Santos Manuel

Por último si se consideran robots con capacidad de posicionar y orientar su extremo en el

espacio, esto es robots con 6 grados de libertad, el método de desacoplamiento cinemático

permite, para determinados tipos de robots, resolver los primeros grados de libertad

dedicados al posicionamiento, de una manera independiente a la resolución de los últimos

grados de libertad, dedicados a la orientación, cada uno de estos dos problemas simples

podrá ser tratado y resuelto por cualquier procedimiento.

2.5 Generación de Trayectorias.

Al hablar de obstáculos en la robótica no se trata simplemente de elementos externos que

por circunstancias fuera de lo normal, se introducen dentro del espacio de trabajo del robot

y evitan el desplazamiento programado del brazo manipulador; un obstáculo también es

todo aquel elemento que forma parte del espacio de trabajo del brazo manipulador, el cual

impide que este último se desplace libremente a un punto únicamente utilizando la

cinemática inversa del robot, por ejemplo la mesa de trabajo donde se encuentra una pieza a

mover, las paredes de dos estructuras que se deben soldar por dentro, una pared que detiene

los objetos a mover por el robot, etc.

Por lo tanto, un obstáculo involucra crear un camino diferente al que el robot desarrolla con

sus propios algoritmos de movimiento, siendo esto lo que genera la planeación de

trayectorias.

Generalmente se utiliza la acción de sensores para el reconocimiento de elementos que

interfieran con el desarrollo normal del desplazamiento del brazo manipulador, pero el

tener un buen sensado involucra cubrir al brazo manipulador de sensores de contacto o

proximidad, acción que no es muy aconsejable debido a que es muy posible que se generen

fallas por disparos involuntarios de los sensores y el tener que dar un mayor mantenimiento

de los mismos para comprobar su adecuada operación.

Otro medio de sensado que se utiliza mucho hoy en día es trabajar con visión, el poner

cámaras tanto en el robot como en ciertos puntos del espacio de trabajo es una forma de

monitorear el desempeño del brazo manipulador, y de poder corregir su desplazamiento en

caso de que un elemento externo ocupe un espacio de la trayectoria del mismo, en el caso

de censado con visión es posible trabajar en tiempo real o no, dependiendo del sistema que

se maneje; para el caso de trabajo en tiempo real los cambios de la trayectoria deben

hacerse por alguien que conozca muy bien la configuración del espacio de trabajo, para

poder indicar los nuevos puntos por donde debe moverse el robot.

En el caso de no trabajar en tiempo real es necesario desarrollar un algoritmo que interprete

los datos de la imagen que correspondan a los obstáculos y con esta información generar

otro algoritmo que permita la construcción de trayectorias que eviten los obstáculos. Hay

que suponer que el usurario especifica un movimiento en el espacio de trabajo del robot,

normalmente espacio cartesiano, para ello puede emplearse una terminal interactiva

indicando simplemente el punto destino, el movimiento puede especificarse también

mediante una sentencia de programa o bien, automáticamente, como resultado de la

ejecución de un programa de planificación.

Page 45: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 35 Maya Santos Manuel

En los lenguajes de programación de robots existen sentencias para especificar el

movimiento de un robot indicando la duración del movimiento o la velocidad, así, podría

emplearse una sentencia tal como:

Mover BRAZO a C con duración 3 segundos.

En caso de no especificarse una duración, el movimiento se realiza con una velocidad

previamente establecida en el sistema (velocidad por defecto), es también posible

especificar movimientos con puntos de paso mediante sentencias tales como:

Mover BRAZO a C vía B con duración 6 Segundos.

La duración se refiere al movimiento completo, el procedimiento de generación de

trayectorias debe repartir la duración total entre los segmentos, puede especificarse también

la duración de un segmento simple como por ejemplo:

Mover BRAZO a C vía B donde duración 3 segundos.

Con lo cual se indica que el primer segmento que conduce a B tiene una duración de 3s,

por esto último, es posible también especificar diversos puntos de paso con una sentencia

tal como:

Mover BRAZO a C via B, A, D.

En la cual no se ha indicado la duración (velocidad por defecto).

Supuesto que la trayectoria que debe seguir el robot se especifica en el espacio cartesiano,

existen dos alternativas para su ejecución:

1) Definir los bucles de control directamente en el espacio cartesiano y controlar al

robot para que se anule el error de seguimiento de la trayectoria en este espacio.

2) Transformar la trayectoria del espacio cartesiano al espacio de las variables

articulares y controlar la evolución de cada una de las variables articulares

definiendo los bucles o ciclos de control en este espacio.

El primer caso es el más habitual en robots móviles, la curvatura del camino generado en el

espacio cartesiano está directamente relacionada con la variable de control que se emplea

para el seguimiento de caminos por parte de diversas configuraciones de vehículos.

En robots manipuladores con configuración cartesiana las coordenadas del camino son

directamente las referencias de los bucles o ciclos de control de las articulaciones, con lo

cual resulta evidente que la generación de caminos debe realizarse en el espacio cartesiano

ya que los bucles o ciclos de control se plantean directamente en este espacio.

Sin embargo, este no es el caso de otras configuraciones, en las cuales es necesario acudir

al modelo cinemático para obtener las variables articulares que son las que definen los

bucles de control de bajo nivel.

Page 46: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 36 Maya Santos Manuel

Por lo tanto, los sistemas de control de los manipuladores robóticos industriales suele

convertir las especificaciones en el espacio de trabajo a un conjunto de valores deseados

para las variables articulares, empleando para ello la cinemática inversa; de esta forma, el

problema de generación de trayectorias se plantea normalmente en el espacio articular, en

cuyo caso se trata de especificar la posición, velocidad y aceleración para cada una de las

articulaciones.

No se debe olvidar que las trayectorias generadas deben tener buenas propiedades con

vistas a su ejecución por el robot, por consiguiente es necesario tener en cuenta, directa o

indirectamente, las restricciones cinemáticas y dinámicas involucradas, en general las

trayectorias deben ser suaves, lo que implica restricciones sobre las derivadas, normalmente

se exige que al menos la primera derivada sea continua, pudiendo exigirse también la

continuidad en derivadas de orden superior.

El problema de la generación de trayectorias debe resolverse en tiempo real, por lo tanto se

trata también de que la generación de trayectorias sea computacionalmente eficiente, en

robots manipuladores, la generación de trayectorias articulares suele realizarse en tiempos

del orden de los milisegundos o decenas de milisegundos.

2.5.1 Generación de Trayectorias para Manipuladores.

El problema de la generación de trayectorias puede plantearse tanto en el espacio cartesiano

como en el espacio de las articulaciones, los métodos de generación en el espacio

cartesiano tienen mayor complejidad ya que es necesario resolver en tiempo real el modelo

cinemático inverso, se consideran en primer lugar, los movimiento rectilíneos ya que son

los de especificación más usual.

Si se especifica la orientación mediante matrices en los puntos de paso, o es posible

interpolar linealmente sus elementos ya que se generan matrices de rotación no validas, las

matrices de rotación deben tener columnas orto-normales, condición que no se garantiza si

se interpolan linealmente elementos de dos matrices, la posición y orientación suelen

representarse mediante un vector de 6 X 1, con tres números especificando la posición y

otros tres la orientación, considérese un punto de paso definido como:

(2.11)

Transformación en la cual PPORGA da la posición del origen del sistema A con respecto a

P y P

AR es una matriz de rotación que define la orientación del sistema A con respecto

a P.

El vector 6 X 1 correspondiente es:

(2.12)

Existen diferentes problemas geométricos que limitan la aplicación de los métodos en

espacio cartesiano, los cuales son:

Page 47: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 37 Maya Santos Manuel

1) Puntos intermedios inalcanzables. El problema es que el enlace 2 es más corto que

el 1, por tanto el espacio de trabajo tiene un agujero en el centro cuyo radio es la

diferencia de radios.

Fig. 2.12 Representación de puntos inalcanzables.

El movimiento de A a B es posible en el espacio articular, sin embargo la línea recta

en el espacio cartesiano contiene puntos que no son alcanzables, existen sistemas de

control que notifican al operador esta circunstancia, en otros comienza el

movimiento hasta que se alcanza el límite de una articulación, momento en el cual

se para.

2) Velocidades articulares altas cerca de las singularidades. El manipulador está

siguiendo una línea recta y aproximándose a una singularidad, en este caso, una o

más velocidades crecen hacia infinito, obviamente, existen limitaciones físicas que

hacen que el manipulador se separe del camino deseado.

Fig. 2.13 Representación de velocidades articulares altas.

Todos los puntos son alcanzables, pero cuando el robot pasa por la mitad, la

velocidad de la primera articulación es muy alta, esta velocidad es tanto más alta

cuanto más se aproxima el camino al eje de la primera articulación, para resolver el

problema puede limitarse la velocidad del camino al impuesto por el límite de

velocidad de las articulaciones, obviamente las propiedades temporales se pierden.

A

B

A

B

Page 48: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 38 Maya Santos Manuel

3) Puntos alcanzables solo con diferentes orientaciones. Considérese que se

especifica un punto alcanzable en el interior del espacio de trabajo al cual solo

puede accederse con determinados orientaciones, si se especifica una orientación

distinta, el planificador podría detectar el problema evitando que el controlador

intente ejecutarlo, debido a todos estos problemas, la mayor parte de manipuladores

industriales emplea, en tiempo real, métodos de generación en el espacio articular.

2.5.2 Trayectorias Articulares para Manipuladores Robóticos.

En los métodos de generación de trayectorias en el espacio de las articulaciones existe un

control de posiciones/orientaciones cartesianas entre cada dos puntos de paso consecutivos,

se trata de determinar una función suave de interpolación para cada articulación, hay que

notar que todas las articulaciones deben alcanzar los puntos de paso al mismo tiempo.

2.6 Sensores Táctiles.

El agarre y manipulación de objetos es un concepto importante en el campo de la robótica

tanto industrial como de uso doméstico, muchos han sido los esfuerzos dedicados al diseño

y construcción de sistemas robóticos dedicados a tareas de agarre para aplicaciones de

ensamblaje, elevación o transporte de objetos, los sistemas diseñados para este tipo de

tareas, suelen estar implementados en procesos automatizados, partiendo de un entorno de

trabajo fijo y perfectamente conocido; en este tipo de sistemas, cualquier cambio en las

condiciones de trabajo, supone el poner en marcha un proceso de calibración para

adaptarlos a las nuevas condiciones de trabajo.

La instalación más reducida de estas plataformas suele estar formada por un brazo robótico

y un dispositivo de agarre a modo de pinza (mano robótica de dos dedos) con placas

paralelas, normalmente trabajan el lazo abierto, es decir, carecen de dispositivos receptores

que capten estímulos externos y realimenten el sistema de control del posicionamiento del

conjunto del robot.

La evolución de las superficies de contacto y la presión ejercida entre un dispositivo de

agarre robótico y un determinado objeto, ha sido siempre un parámetro de control muy

perseguido en robótica de manipulación, la gran ventaja que supone el poder retroalimentar

el sistema de agarre mediante sensores y poder realizar controles en lazo cerrado de

posición y/o fuerza, en muchas ocasiones la falta de sensores artificiales adecuados, la

complejidad en los sistemas de control para la realización de tareas sencillas o la necesidad

de sensar variables en un dispositivo robot de agarre con múltiples dedos, hace posible

adoptar esta solución.

Una pinza robotica puede tener más de un grado de libertad, es posible dotar a ambas

placas de un movimiento de deslizamiento paralelo de una sobre otra, con un manipulador

así formado (tres grados de libertad) es posible reconocer objetos de una forma mucho más

precisa.

Page 49: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 39 Maya Santos Manuel

Estos sistemas necesitan de una realimentación de los estímulos detectados, la tendencia ha

sido la de compensar las deficiencias de medida en tiempo real de los sensores táctiles

mediante el empleo de sistemas externos de visión, esta solución si bien en determinadas

aplicaciones ha producido buenos resultados, implica un aumento de los sistemas

electrónicos y de control, que en muchos casos resulta inviable para la tarea que se quiere

realizar.

2.6.1 Aplicaciones a la robótica de agarre con sensores resistivos.

Debido a las características de coste/unidad y de diseño a medida, los sensores de fuerza

resistivos se utilizan en un elevado número de aplicaciones que requieren un control de

fuerza, cuando el requisito de la precisión no es importante.

Una característica de los sensores resistivos es su facilidad de configurarse en arreglo de

celdas simples uniformemente distribuidas, existe una tendencia a combinar diferentes tipos

de sensores, formando así un sensor integrado de aplicación en tareas de precisión, se puede

emplear un sensor simple FSR para mediar la fuerza ejercida al que se le ha acoplado un

sensor de tipo piezoeléctrico PVF para detectar el efecto del deslizamiento en aplicaciones

de agarre con una mano robótica.

Los sensores resistivos suelen colocarse encima de unas láminas de un material elástico,

finalmente, la estructura así formada se cubre, nuevamente, con unas gomas de unas

determinadas características de grosor y elasticidad.

2.7 Sistemas embebidos.

Se entiende por sistemas embebidos a una combinación de hardware y software de

computadora, sumado tal vez a algunas piezas mecánicas o de otro tipo, diseñado para tener

una función especifica, un buen ejemplo de esto puede ser un horno microondas o un

videograbadora, es común el uso de estos dispositivos pero pocos se dan cuenta que hay un

procesador y un programa ejecutándose que les permite funcionar.

Esto ofrece un contraste con la computadora personal, que si bien también esta formada por

una combinación de hardware y software mas algunas piezas mecánicas (discos rígidos, por

ejemplo), sin embargo la computadora personal no es diseñada para un uso específico, si no

que es posible darle muchos usos diferentes; por eso mucha gente la llama “Computadora

de propósito general'' para dejar clara esta diferencia.

Muchas veces un sistema embebido es un componente de un sistema mucho más grande,

como por ejemplo los sistemas de frenos o el sistema de inyección de combustible, en

automóviles actuales son sistemas embebidos. Esta combinación de software y hardware

puede ser reemplazada en muchos casos por un circuito integrado que realice la misma

tarea, pero una de las ventajas de los sistemas embebidos es su flexibilidad, ya que a la hora

de realizar alguna modificación resulta mucho mas sencillo modificar unas líneas de código

al software del sistema embebido que reemplazar todo el circuito integrado.

Page 50: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 40 Maya Santos Manuel

Un uso muy común de los sistemas embebidos es en los sistemas de tiempo real,

entendiéndose por sistemas en tiempo real a aquellos sistemas en los que el control del

tiempo es vital para su correcto funcionamiento, los sistemas en tiempo real necesitan

realizar ciertas operaciones o cálculos en un límite de tiempo; donde ese limite de tiempo

resulta crucial, un ejemplo claro de un sistema de tiempo real es el control de trafico aéreo.

2.7.1 Componentes de un sistema embebido.

Un sistema embebido en principio estaría formando por un microprocesador y un software

que se ejecute sobre este, sin embargo este software necesitara sin duda un lugar donde

poder guardarse para luego ser ejecutado por el procesador, esto podría tomar la forma de

memoria RAM o ROM, todo sistema embebido necesitara en alguna medida una cierta

cantidad de memoria, la cual puede incluso encontrarse dentro del mismo chip del

procesador; además de esto normalmente un sistema embebido contara con una serie de

salidas y entradas necesarias para comunicarse con el mundo exterior.

Debido a que las tareas realizadas por sistemas embebidos son de relativa sencillez, los

procesadores comúnmente usados cuentan con registros de 8 o 16 bits, en su memoria solo

reside el programa destinado a gobernar una aplicación determinada, sus líneas de

entrada/salida soportan el conexionado de los sensores y actuadores del dispositivo a

controlar y todos los recursos complementarios disponibles tiene como única finalidad

atender a sus requerimientos.

Estas son las únicas características que tienen en común los sistemas embebidos, todo lo

demás será totalmente diferente para cada sistema embebido en particular.

2.7.2 Microcontroladores dentro de los sistemas embebidos.

Los microcontroladores

son sistemas de computadoras completos en un solo chip,

normalmente combinando una Unidad Aritmética Lógica (ALU), una pequeña cantidad de

memoria, contadores de tiempo, puertos serie, entradas/ salidas y un reloj oscilador.

Un microprocesador es un sistema abierto, los pines de un CPU sacan al exterior las líneas

de sus buses de direcciones, datos y control, se dice que un CPU es un sistema abierto por

que su configuración es variable de acuerdo a la aplicación a la que se lo destine, por su

parte un microcontrolador es un sistema cerrado, que contiene a un computador completo y

de prestaciones limitadas que no se pueden modificar.

Debido principalmente a su versatilidad y bajo costo, los microcontroladores son hoy una

de las opciones más comunes a la hora de implementar sistemas embebidos, si bien no

poseen la capacidad de procesamiento de una computadora de propósito general, si cuentan

con la suficiente capacidad para el desarrollo de tareas simples y repetitivas, cuando la tarea

es simple, el costo asociado a trabajar con un microcontrolador es mucho menor.

Page 51: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 41 Maya Santos Manuel

2.8 Control de motores de corriente continua (motores de CC).

2.8.1Motores-CC (motores de corriente continua).

Los motores de corriente continua son los más comunes y económicos, se pueden encontrar

en la mayoría de los juguetes a pilas, constituidos, por lo general, por dos imanes

permanentes fijados en la carcasa y una serie de bobinados de cobre ubicados en el eje del

motor, el funcionamiento se basa en la interacción entre el campo magnético del imán

permanente y el generado por las bobinas, ya sea una atracción o una repulsión hacen que

el eje del motor comience su movimiento.

Una bobina es recorrida por la corriente eléctrica, esta genera un campo magnético y como

es obvio este campo magnético tiene una orientación es decir dos polos un polo NORTE y

un polo SUR.

Fig. 2.14 Orientación del Campo Magnético de los Polos Norte y Sur.

Como se observa, estos polos pueden ser invertidos fácilmente con sólo cambiar la

polaridad de la bobina, por lo cual, se sabe que las cargas opuestas o polos opuestos se

atraen y cargas del mismo signo o polos del mismo signo se repelen, esto hace que el eje

del motor gire produciendo un determinado torque.

Fig. 2.15 Generación del torque del Motor por medio de la repulsión de las cargas.

El Torque del motor es simplemente la fuerza de giro, se podría llamar la potencia que tiene

el motor, la cual depende de varios factores, como la cantidad de corriente, el espesor del

alambre de cobre, la cantidad de vueltas del bobinado, la tensión etc. esto es algo que ya

viene determinado por el fabricante.

Page 52: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 42 Maya Santos Manuel

2.8.2 Circuitos electrónicos para el control de sentido de giro para motores

de corriente continúa.

Cuando se intenta utilizar una fuente de alimentación simple, se complica un poco más, se

puede implementar de la siguiente forma:

Fig. 2.16 Principio de Inversión de Giro por Puente H.

El nombre de “Puente H” surge de la posición de los transistores, en una distribución que

recuerda la letra H. Esta configuración es una de las más utilizadas en el control de

motores de corriente continua, cuando es necesario que se pueda invertir el sentido de giro

del motor.

Fig. 2.17 Circuito de Puente “H” para el control de giro.

Page 53: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 43 Maya Santos Manuel

Aplicando una señal positiva en la entrada marcada como Avance, se hace conducir al

transistor Q1. La corriente Q1 circula por las bases, de Q2 y Q5, haciendo que el terminal

“a” del motor reciba un positivo y la terminal “b” el negativo.

Fig.2.18 Circuito del Control de Avance del Motor en el Puente H.

Si en cambio se aplica señal en la entrada RETROCESO, se hace conducir al transistor Q6,

que cierra su corriente por las bases, de Q4 y Q3, en este caso se aplica el positivo a la

terminal “b” del motor y el negativo (tierra) a la terminal “a” del motor.

Fig. 2.19 Circuito del Control de Retroceso del Motor en el Puente H.

2.8.3 Modulador de Ancho de Pulso “PWM”.

Un modulador por ancho de pulso (PWM) es un dispositivo que puede usarse como un

eficiente regulador de intensidad de luz o para controlar la velocidad en motores CC, los

motores CC grandes son controlados más eficientemente con tiristores de alta potencia,

mientras los motores CC pequeños y medianos de imán permanente, son controlados más

exitosamente con transistores de conmutación por ancho de pulso.

Page 54: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 44 Maya Santos Manuel

Un circuito PWM da como resultado una onda cuadrada con ciclo variable de ON y Off,

variando en el tiempo del 0 al 100 %, de esta manera, una cantidad variable de potencia es

transferida a la carga, consiste en enviar a las terminales de control un tren de pulsos, los

cuales varían en mayor o menor medida el tiempo en que se mantiene el nivel alto de esos

pulsos, manteniendo la frecuencia constante.

Fig. 2.20 Tren de Pulsos con el cual se controlan los niveles altos y bajos del tiempo.

La principal ventaja de un circuito de PWM sobre un controlador que se base en la

variación lineal de la potencia suministrada a una carga mediante cambio resistivo es la

eficiencia, a una señal de control del 50%, el PWM usará cerca del 50% de la potencia

total, de la cual casi toda será transferida a la carga, en un controlador tipo resistivo, de un

50% de potencia que se quiera transferir a la carga se estima que le puede llegar cerca de un

71%; el otro 21% se pierde en forma de calor, con esta forma de control la cantidad de

corriente sigue siendo la misma, la tensión no varía y en consecuencia el torque del motor

se mantiene.

La principal desventaja de los circuitos de PWM es la posibilidad de que exista

interferencia por radiofrecuencia (RFI), el RFI puede minimizarse ubicando el controlador

cerca de la carga y utilizando un filtrado de la fuente de alimentación con lo que se posee

una pequeña protección contra RFI y produce una mínima interferencia. La señal generada

tendrá frecuencia fija y tiempos de encendido y apagado variables, en otras palabras el

período de la señal se mantendrá constante, pero la cantidad de tiempo que se mantiene en

alto y bajo dentro de un período puede variar.

2.9 Servomotores.

Los servos son un tipo especial de motor de c.c. que se caracterizan por su capacidad para

posicionarse de forma inmediata en cualquier posición dentro de su intervalo de operación,

para ello el servomotor espera un tren de pulsos que se corresponde con el movimiento a

realizar. Están generalmente formados por:

1 amplificador.

1 motor.

1 sistema reductor formado por engranes.

1 circuito de realimentación.

Todo en una misma caja de pequeñas dimensiones, el resultado es un servo de posición con

un margen de operación de 180° aproximadamente.

Page 55: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 45 Maya Santos Manuel

Fig. 2.21 Imagen de un Servomotor.

Se dice que el servo es un dispositivo con un eje de rendimiento controlado ya que puede

ser llevado a posiciones angulares específicas al enviar una señal codificada, con tal de que

exista una señal codificada en la línea de entrada, el servo mantendrá la posición angular

del engranaje, cuando la señal codificada cambia, la posición angular de los piñones

cambia; en la práctica se usan servos para posicionar elementos de control como palancas,

pequeños ascensores y timones, también se usan en radio-control, marionetas y por

supuesto en robots.

Los Servos son sumamente útiles en robótica, ya que los motores son pequeños, un motor

como el de la figura 2.21 posee internamente una circuitería de control y es sumamente

potente para su tamaño, un servo normal o estándar como el HS-300 de Hitec proporciona

un par de 3 kg·cm a 4.8 V, lo cual es bastante para su tamaño, sin consumir mucha energía,

la corriente que requiere depende del tamaño del servo, normalmente el fabricante indica

cual es la corriente que consume eso no significa mucho si todos los servos van a estar

moviéndose todo el tiempo, la corriente depende principalmente del par y puede exceder un

ampere si el servo está enclavado.

2.9.1 Composición del Servomotor

En la composición del servo se puede observar por lo general el motor, la circuitería de

control, un juego de piñones, la caja y también se pueden ver los 3 cables de conexión

externa (ver figura 2.22)

Cable rojo: es para alimentación, Vcc (~ +5volts).

Cable negro: para conexión a tierra (GND).

Cable blanco o amarillo: es la línea de control por la que se le envía la señal

codificada para comunicar el ángulo en el que se debe posicionar.

Page 56: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 46 Maya Santos Manuel

Fig. 2.22 Servomotor Desmontado

El motor del servo tiene algunos circuitos de control y un potenciómetro conectado al eje

central del motor, en la figura 2.22 se puede observar el potenciómetro que permite a la

circuitería de control, supervisar el ángulo actual del servomotor, si el eje está en el ángulo

correcto, entonces el motor está apagado, si el circuito chequea que el ángulo no es

correcto, el motor se moverá hasta llegar al ángulo deseado; el eje del servo es capaz de

llegar alrededor de los 180 grados, normalmente en algunos llega a los 210 grados, pero

varía según el fabricante.

Un servo normal se usa para controlar un movimiento angular de entre 0 y 180 grados, un

servo normal no es mecánicamente capaz de retornar a su lugar, si hay un mayor peso que

el sugerido por las especificaciones del fabricante.

El voltaje aplicado al motor es proporcional a la distancia que éste necesita viajar, así si el

eje necesita regresar una distancia grande, el motor regresará a toda velocidad. Si este

necesita regresar sólo una pequeña cantidad, el motor girará a menor velocidad, a esto se le

denomina control proporcional.

2.9.2 Funcionamiento del Servomotor.

La modulación por anchura de pulso, PWM (Pulse Width Modulation), es uno de los

sistemas más empleados para el control de servos, este sistema consiste en generar una

onda cuadrada en la que se varía el tiempo que el pulso está a nivel alto, manteniendo el

mismo período (normalmente), con el objetivo de modificar la posición del servo según se

desee.

Para la generación de una onda PWM en un sistema embebido, lo más habitual es usar un

timer y un comparador (interrupciones asociadas), de modo que el sistema embebido quede

libre para realizar otras tareas, y la generación de la señal sea automática y más efectiva, el

mecanismo consiste en programar el timer con el ancho del pulso (el período de la señal) y

al comparador con el valor de duración del pulso a nivel alto, cuando se produce una

interrupción de overflow del timer, la subrutina de interrupción debe poner la señal PWM a

nivel alto y cuando se produzca la interrupción del comparador, ésta debe poner la señal

PWM a nivel bajo.

Page 57: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 47 Maya Santos Manuel

Fig. 2.23 PWM para recorrer todo el rango de operación del servo

El sistema de control de un servo se limita a indicar en que posición se debe situar, esto se

lleva a cabo mediante una serie de pulsos tal que la duración del pulso indica el ángulo de

giro del motor, cada servo tiene sus márgenes de operación, que se corresponden con el

ancho del pulso máximo y mínimo que el servo entiende; los valores más generales se

corresponden con pulsos de entre 1 ms y 2 ms de anchura, que dejarían al motor en ambos

extremos (0º y 180º), el valor de 1.5 ms indicaría la posición central o neutra (90º),

mientras que otros valores del pulso lo dejan en posiciones intermedias, estos valores

suelen ser los recomendados, sin embargo, es posible emplear pulsos menores de 1 ms o

mayores de 2 ms, pudiéndose conseguir ángulos mayores de 180°; si se sobrepasan los

límites de movimiento del servo, éste comenzará a emitir un zumbido, indicando que se

debe cambiar la longitud del pulso, el factor limitante es el tope del potenciómetro y los

límites mecánicos constructivos.

El período entre pulso y pulso (tiempo de OFF) no es crítico, e incluso puede ser distinto

entre uno y otro pulso, se suelen emplear valores aproximados a 20 ms (entre 10 ms y 30

ms), si el intervalo entre pulso y pulso es inferior al mínimo, puede interferir con la

temporización interna del servo, causando un zumbido y la vibración del eje de salida, si es

mayor que el máximo, entonces el servo pasará a estado dormido entre pulsos esto provoca

que se mueva con intervalos pequeños.

Es importante destacar que para que un servo se mantenga en la misma posición durante un

cierto tiempo, es necesario enviarle continuamente el pulso correspondiente, de este modo,

si existe alguna fuerza que le obligue a abandonar esta posición intentará resistirse, si se

deja de enviar pulsos (o el intervalo entre pulsos es mayor que el máximo) entonces el

servo perderá fuerza y dejará de intentar mantener su posición, de modo que cualquier

fuerza externa podría desplazarlo.

Fig. 2.24 Tren de pulsos para control del servo.

Page 58: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 48 Maya Santos Manuel

CAPÍTULO III “CINEMATICA Y DESARROLLO DEL

BRAZO ROBÓTICO”

Page 59: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 49 Maya Santos Manuel

Un robot manipulador puede ser diseñado y programado para diversas labores, sin embargo

esta no es una tarea fácil, para ello es necesario un enfoque analítico de su funcionamiento

de acuerdo a sus características físicas (arquitectura, configuración, grados de libertad, tipo

de control, etc.) por eso resulta importante el desarrollo de modelos matemáticos.

Este robot tiene una configuración angular que cuenta con 5 Grados De Libertad (GDL),

cada articulación realiza movimientos rotatorios desarrollados por actuadores que para este

caso son servomotores de 5 volts de corriente directa (VCD) y su posicionamiento se

controla a través de su Modulación por Ancho de Pulso (PWM). Cada par generado por los

servomotores es transmitido por sistemas de engranaje, los elementos que integran el brazo

manipulador están construidos de cintra (PVC comprimido), plástico y aluminio.

3.1 Estructura del Brazo Robótico.

Como se ha mencionado anteriormente este Brazo Robótico es de configuración angular

que cuenta con 5 GDL, se divide en 2 partes, el Brazo Robótico y la Base Giratoria del

Brazo Robótico, a continuación se mencionan las partes y se muestran en un plano general.

Los detalles de los componentes del brazo manipulador se muestran en el anexo A.

Partes del Brazo Robótico:

Eslabón 1.

Eslabón 2.

Muñeca.

Gripper (Pinza).

Servomotores y Accesorios de sujeción.

Contrapeso.

Partes de la Base del Brazo Robótico:

Base Fija de Lámina.

Base Giratoria.

Engrane de la Base Giratoria.

Motoreductor de 12 V.

Piñón del Motoreductor.

Potenciómetro de 10KΩ para el control de posición.

Page 60: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 50 Maya Santos Manuel

ISOMÉTRICO FRONTAL

Fig. 3.1 Isométrico en Vista Frontal.

ISOMÉTRICO POSTERIOR

Fig.3.2 Isométrico en vista posterior

Page 61: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 51 Maya Santos Manuel

No. De Pieza

Descripción Cantidad No. De Plano

1 Base Fija 1 1 2 Base Giratoria 1 2 3 Potenciómetro 1 3

4 Engrane de Base Giratoria 1 4

5 Motoreductor 1 5 6 Piñón del Motoredcutor 1 6 7 Base del Brazo 1 7 8 Brazo 1 8 9 Antebrazo 1 9 10 Muñeca 1 10 11A Gripper (Pinzas) 1 11A 11B Gripper (Base) 1 11B 12 Servomotor 5 12 13 Accesorios de Sujeción 6 13

Instituto Politécnico Nacional Despiece del Robot

Plano Principal

Diseño Mecánico Acot. mm

Esc. NingunaFecha: 10/04/09

1

2

3

4

5

6

7

8

9

10 11A

11B

12

13 12

12

12

12

13

13

13

13

13

Elementos de la Base

Elementos del Brazo Robótico

Page 62: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 52 Maya Santos Manuel

3.1.1 Espacio de trabajo del robot manipulador.

El conjunto de rutas de destino alcanzables para un manipulador dado constituye su

espacio de trabajo alcanzable, para un manipulador con n grados de libertad (en donde n

<6), este espacio de trabajo alcanzable puede considerarse como una porción de un

subespacio con n grados de libertad.

De la misma forma en que el espacio de trabajo de un manipulador con seis grados de

libertad es un subconjunto del espacio, el espacio de trabajo de un manipulador más simple

es un subconjunto de su subespacio, además, otro factor que define el espacio de trabajo, en

los manipuladores robóticos, es la limitación que tienen sus actuadores, tomando en cuenta

estas consideraciones se trazo el espacio de trabajo para nuestro brazo robótico, el cual se

muestra en la figura 3.3.

Fig. 3.3 Vista 3d del espacio de trabajo.

Page 63: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 53 Maya Santos Manuel

El espacio de trabajo de nuestro brazo manipulador esta definido por los grados de libertad

que posee, que en este caso son 4 GDL, también se tomaron en cuenta las limitantes de sus

actuadores: el hombro, codo y muñeca solo nos pueden ofrecer movimientos hasta 180o,

esto debido a que los servomotores no pueden exceder este rango, el movimiento de la

cadera también quedo limitado a 180o, debido no al actuador que es un motor de C.C. que

no tiene limitantes en el giro, sino al potenciómetro de la base que utilizamos para la

posición, también se consideraron las longitudes de los eslabones y la altura de la base;

sumado todo esto el espacio de trabajo quedo definido como se muestra en las figuras 3.3 y

3.4.

Fig. 3.4 Vista superior del espacio de trabajo.

3.1.2 Movimiento de las articulaciones.

Como se ha mencionado anterior mente las articulaciones de hombro, codo y muñeca,

además de la apertura y cierre del gripper, son movidas por servomotores que utilizan una

señal de control en lazo abierto para la posición (ver tema 2.9.2).

Con los parámetros obtenidos en el ejemplo de la cinemática inversa, se pretende

posicionar en el ángulo correcto a cada uno de los servomotores, como se muestra en la

tabla 3.1.

Nota: La cadera del robot no se muestra en la siguiente tabla ya que el movimiento de esta

se explica en el siguiente tema.

Page 64: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 54 Maya Santos Manuel

Eslabón Angulo obtenido en la

cinemática inversa

Tren de pulsos para la

posición del servomotor

Hombro -19.0048 1.35 ms

Codo 71.4264 1.11ms

Muñeca -52.4160 1.21ms

Giro del gripper 4.4191 1.02ms

*Apertura y cierre del

gripper

Gripper abierto 2ms

Tabla 3.1 tren de pulsos para los servos de las articulaciones.

*La apertura o cierre del gripper no es un parámetro obtenido de la cinemática inversa, si

no un valor que se establece en base a la necesidad de la operación, en este caso el gripper

va a una coordenada especifica a recoger una pieza, por lo que permanecerá abierto, si el

gripper va a un punto a depositar una pieza, permanecerá cerrado según los valores de

presión de los FSR.

En el caso del hombro son dos servomotores colocados a los lados de la base como se ve en

la figura 3.2, se debe de considerar lo anterior, por que estos dos servos deberán trabajar de

manera simultanea para garantizar el movimiento del hombro, ya que de no ser así, algún

servomotor podría ser dañado o la articulación no realizaría el movimiento.

Los demás eslabones solo cuentan con un servomotor, para realizar sus movimientos, por lo

que no cuentan con mayores dificultades, que las de proporcionarles el tren de pulsos

adecuado.

3.1.2.1 Movimiento de la cadera.

La cadera a diferencia de las demás articulaciones no utiliza servomotores para moverse, si

no un motor de CC, (ver tema 2.8.1), por lo que esta articulación no se incluyo en la tabla

anterior, para nuestro propósito necesitamos que el motor gire y se detenga, solo en la

posición que se le indique, esto lo hace con ayuda de un potenciómetro de 10KΩ montado

en la parte inferior de la base del robot manipulador (ver plano principal), este

potenciómetro nos señalara la posición a través de una diferencia de voltaje, que será

enviada a una tarjeta phidget de entradas/salidas analógicas.

También se necesita que el motor realice movimientos en ambos sentidos, por lo que se

utilizo un circuito de puente H para la inversión de giro del motor, (ver tema 2.8.2), para

hacer mas sencilla la construcción del puente H se utilizo una tablilla protoboard, logrando

también que se mas fácil la conexión asía el motor, como se muestra en la figura 3.5.

Page 65: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 55 Maya Santos Manuel

Fig. 3.5 Conexión del puente H al motor de CC

Con ayuda de los elementos mencionados, la cadera del manipulador podrá efectuar

movimientos en ambos sentidos de giro y detenerse en un punto específico con una buena

precisión. Para ver más información acerca de la conexión del puente H al motor de la

cadera ver anexo C

3.2 ANÁLISIS CINEMÁTICO DEL ROBOT MANIPULADOR.

El problema más básico que se debe resolver en el desarrollo de un robot manipulador es el

de obtener un modelo geométrico de la estructura, que permita relacionar los grados de

libertad con las coordenadas de todos y cada uno de los puntos que constituyen el robot,

esto se conoce como el “problema de la cinemática directa”, y para robots típicos tiene una

solución sencilla y universal sin embargo, el problema que aparece cuando se pretende

posicionar un brazo robótico, el cual es el proceso inverso es decir, se parte de las

posiciones o vector de posición del gripper y lo que se debe encontrar son los valores

angulares de los eslabones, este es el “problema de la cinemática inversa” y se puede

resolver de forma analítica, puede tener desde 0 hasta soluciones infinitas.

3.2.1 Establecimiento de los Parámetros de Denavit-Hartemberg.

Fig. 3.6 Dimensiones del Brazo Robótico.

Page 66: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 56 Maya Santos Manuel

Fig. 3.7 Análisis Geométrico del Brazo Robótico

LONGITUDES DE LOS ESLABONES DEL BRAZO ROBÓTICO.

A=0mm.

B=74.5mm

C=180mm

D=110mm

E=77.92mm

El valor de A es cero debido a que el eje de la base del Brazo Robótico coincide con el eje

del hombro considerando esta situación se procede a obtener los parámetros de Denavit-

Hartenberg.

PARAMETROS DE LA MATRIZ DE DENAVIT-HARTENBERG

Articulación θ α d(mm) a(mm)

1 0 -90 74.5 0

2 0 0 0 180

3 0 0 0 110

4 90 90 0 0

5 0 0 77.92 0

Tabla 3.2 Parámetros de la Matriz de Denavit-Hartenberg.

X4

X0

Y4

X5

Z5

Y5

Y3

X3

Z3

Y2

X2

Z2

Y1 X1

Z1

Z0 Y0 E D C B

Z4

Page 67: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 57 Maya Santos Manuel

Matriz de Denavit-Hartemberg:

DH =

(3.1)

3.2.2 Cinemática Directa.

El problema de la cinemática directa se basa en encontrar la orientación del efector final o

gripper, dando los valores angulares para cada articulación, con estos datos se obtiene la

coordenada en la cual se va a posicionar el gripper, para resolver este problema partimos de

los parámetros de la matriz de Denavit-Hartenberg, sustituyendo los valores en la ecuación

(3.1) para cada una de las articulaciones.

(3.2)

Con base en la matriz anterior y sustituyendo los valores angulares para cada articulación se

obtienen un total de 5 matrices que se muestran en la ecuación (3.3).

(3.3)

Al obtener estas 5 matrices, el siguiente paso es multiplicarlas para obtener su cadena

cinemática y el modelo del robot, el cual se va a utilizar para la cinemática inversa, el

modelo obtenido del producto de las 5 matrices que corresponden a cada articulación del

Brazo Robótico es el siguiente:

1000

cossin0

sinsincoscoscossin

cossinsincossincos

1

d

a

a

Ai

i

1000

010

0

0

111

11

10

B

ASCS

ACSC

A

S

1000

0100

0

0

222

222

2

1

CSCS

CCSC

A

1000

0100

0

0

333

333

32

DSCS

DCSC

A

1000

0010

00

00

44

44

43

CS

SC

A

1000

100

00

00

55

55

54

E

CS

SC

A

Page 68: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 58 Maya Santos Manuel

(3.4)

Se elaboro en el Software MatLab el código fuente de un programa para la resolución de la

cinemática directa para este Brazo Robótico, a continuación se muestra el diagrama de flujo

correspondiente:

1000

22323423452345234

12232341234151523415152341

12232341234151523415152341

50

BCSDSECCSSCS

ASCCDCESSSSCCSCSSCCCS

ACCCDCESCSCCSSCCSSCCC

A

Se introducen

los valores

angulares.

Inicio

En base a los valores

geométricos exclusivos del robot

y con los valores angulares se

forman los parámetros de

Denavit-Hartenberg .

Se Generan las 5 Matrices y

se Multiplican.

Se muestra la Matriz M en

donde se localiza las

coordenadas de posición del

gripper.

Fin

Page 69: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 59 Maya Santos Manuel

Introduciendo los valores angulares en forma de vector para su posición inicial ([0 0 0 90

0]), tomando esta cuando el Brazo Robótico este totalmente extendido se obtienen los

siguientes resultados:

%%%%%%%%%%%%INICIO DEL PROGRAMA EN MATLAB%%%%%%%%%%%

Este Programa Resuelve la Cinematica Directa del Brazo Robótico.

Ingresa los datos en orden de articulación.

Ingresa los Angulos Tetas en forma de vector [t1 t2 t3 t4 t5] = [0 0 0 90 0]

Estos son los Parámetros de Denavit Hartenberg

pdh =

0 -90.0000 74.5000 0

0 0 0 180.0000 (3.5)

0 0 0 110.0000

90.000 90.0000 0 0

0 0 77.9200 0

Obtención de las 5 matrices que corresponden a cada articulación:

A1 =

1.0000 0 0 0

0 0 1.0000 0 (3.6)

0 -1.0000 0 74.5000

0 0 0 1.0000

A2 =

1 0 0 180

0 1 0 0 (3.7)

0 0 1 0

0 0 0 1

A3 =

1 0 0 110

0 1 0 0 (3.8)

0 0 1 0

0 0 0 1

Page 70: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 60 Maya Santos Manuel

A4 =

0 0 1 0

1 0 0 0 (3.9)

0 1 0 0

0 0 0 1

A5 =

1.0000 0 0 0

0 1.0000 0 0 (3.10)

0 0 1.0000 77.9200

0 0 0 1.0000

La Matriz M

M =

0 0 1.0000 367.9200

0 1.0000 0 0 (3.11)

-1.0000 0 0 74.5000

0 0 0 1.0000

%%%%%%%%%%%%%FIN DEL PROGRAMA EN MATLAB%%%%%%%%%%%%

Nota: El código fuente de los programas realizados en matlab se muestran en el anexo B

En la matriz M, que es el producto de multiplicar las 5 matrices podemos observar, que en

la última columna obtenemos los valores “Px”, “Py” y “Pz” que son los valores de la

coordenada en la cual el gripper va a estar posicionado, es decir, 367.92mm en el eje “X”,

0mm en el eje “Y” y 74.5mm en el eje “Z”.

Matriz M

M =

0 0 1.0000 367.9200 “Px”

0 1.0000 0 0 “Py” (3.11)

-1.0000 0 0 74.5000 “Pz”

0 0 0 1.0000

Page 71: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 61 Maya Santos Manuel

La representación Grafica del robot en estas coordenadas que son su posición inicial es la

siguiente:

Fig. 3.8 Posición Inicial del Brazo Robótico.

Para corroborar otra posición del Brazo Robótico, se introducen los nuevos valores de los

ángulos, que son [0 45 -90 135 0], con estos datos en el programa se obtiene lo siguiente:

%%%%%%%%%%%%INICIO DEL PROGRAMA EN MATLAB%%%%%%%%%%%

Programa que Resuelve la Cinemática Directa

Ingresa los datos en orden de articulación

Ingresa los Ángulos Tetas en forma de vector [t1 t2 t3 t4 t5] = [0 45 -90 135 0]

Tetas =

0 45 -90 135 0

Estos son los Parámetros de Denavit Hartemberg

pdh =

0 -90.0000 74.5000 0

45.0000 0 0 180.0000 (3.12)

-90.0000 0 0 110.0000

135.0000 90.0000 0 0

0 0 77.9200 0

Page 72: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 62 Maya Santos Manuel

La Matriz M

M =

-0.0000 0 1.0000 282.9810 “Px”

0 1.0000 0 0 “Py” (3.13)

-1.0000 0 -0.0000 25.0025 “Pz”

0 0 0 1.0000

%%%%%%%%%%%%%FIN DEL PROGRAMA EN MATLAB%%%%%%%%%%%%

Se obtiene entonces que las coordenadas de la posición del gripper son 367.92mm en el eje

“X”, 0mm en el eje “Y” y 74.5mm en el eje “Z” y con base en su configuración angular, el

brazo robótico tendría la siguiente posición.

Fig. 3.9 Posición de la nueva configuración angular [0 45 -90 135 0]

3.2.3 Cinemática Inversa.

La cinemática Inversa como su nombre lo indica, es lo inverso a la cinemática directa, en

este caso nosotros damos la posición del efector final o gripper y lo que se calcula es la

configuración angular que deben de tener los eslabones para que se llegue a estas

coordenadas.

A diferencia de la cinémático directa, en el problema de la cinemática inversa el

mecanismo de solución depende demasiado de la configuración y con frecuencia la

solución no es única, los métodos geométricos nos permiten obtener los valores angulares

por medio de aproximaciones, que son las que consiguen posicionar el efector final del

robot en un punto determinado.

Page 73: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 63 Maya Santos Manuel

Para resolver el problema de la cinemática inversa para este Brazo Robótico, se utilizan

métodos numéricos, debido a que por otros procedimientos resulta complicado y en algunos

la solución no es la correcta.

Se utilizo también la herramienta computacional Matlab, por lo que se elaboro en dicho

software un programa para la resolución de este problema basándose en ciclos o

iteraciones, donde se hacen aproximaciones para encontrar un valor aproximado al valor

real y obtener un error mínimo de , a continuación se muestra el diagrama de

flujo:

Se introduce el Vector

de Posición de origen.

Inicio

Se declara el Vector Constante

que son las longitudes del Brazo

Robótico y el incremento.

Se introduce las

coordenadas de

orientación del Gripper.

Se introduce el Guess

inicial o la aproximación

angular inicial.

Se arma la matriz de posición-

orientación resultante.

B’

C

Page 74: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 64 Maya Santos Manuel

Se entra en una serie de ciclos en

donde se establecen las 12

ecuaciones del modelo del brazo y

se genera una matriz.

C’

De las 12 ecuaciones del modelo se

arma una matriz de 5×12 la cual va

a contener los incrementos

producidos en cada ciclo.

Aplicando el método de Newton-

Raphson, a la matriz con los

incrementos se le resta la matriz sin

incrementos y se divide entre el

incremento.

Se linealiza la función y se multiplica

por la matriz negativa de las 12

funciones del brazo, que se actualizan

con cada ciclo.

El resultado se transpone y se suma al

vector angular que es el guess inicial

para que se actualice.

No Si B El valor de las 12

funciones es 1.0e-9

Se muestran los valores

angulares para el punto

destino d el Gripper.

Fin

Page 75: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 65 Maya Santos Manuel

Para iniciar se parten de 12 ecuaciones por cada grado de libertad del Brazo Robótico, que

se obtienen del modelo que resulta de la cinemática directa, por lo que se tienen 12

ecuaciones por “n” incógnitas o “n” grados de libertad y son las siguientes:

BCSDSECf

ASCCDCESSf

ACCCDCESCf

Cf

SSf

SCf

SSf

CCSCSf

CSSCCf

CSf

SCCCSf

SSCCCf

22323412

1223234111

1223234110

2349

23418

23417

52346

51523415

51523414

52343

51523412

51523411

(3.14)

Se especifican los valores deseados para [n s a p], que es la matriz de posición orientación a

donde queremos que se coloque nuestro efector final o gripper, como este método es en

base de aproximaciones, se da un “guess” inicial sobre el valor angular de cada

articulación, lo que significa que se propone una configuración angular para que los

cálculos partan de esta y se vaya obteniendo cada vez un error más pequeño.

Como se menciono anteriormente, este método depende de la configuración del robot, con

lo cual es necesario dar el vector constante, este vector está conformado por las longitudes

del robot, lo que significa que está compuesto por los valores de las variables “A”, “B”,

“C”, “D” y “E” definidas en el tema 3.2.1

Para poder calcular los valores angulares, se utilizan las 12 ecuaciones del modelo para

cada grado de libertad, a las cuales vamos a restarles el valor de cada coordenada de la

matriz de orientación, a cada ecuación se le va a restar la coordenada correspondiente:

Page 76: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 66 Maya Santos Manuel

(3.15)

Después de obtener estas 12 ecuaciones se forma una matriz de , como la que se

muestra en la ecuación (3.16)

(3.16)

El método que se está utiliza para obtener la solución de la cinemática inversa se basa en la

resolución del jacobiano, con lo cual la matriz queda de la siguiente forma:

(3.17)

z

y

x

z

y

x

z

y

x

z

y

x

pBCSDSECf

pASCCDCESSf

pACCCDCESCf

aCf

aSSf

aSCf

sSSf

sCCSCSf

sCSSCCf

nCSf

nSCCCSf

nSSCCCf

22323412

1223234111

1223234110

2349

23418

23417

52346

51523415

51523414

52343

51523412

51523411

1000

1000

pasn

pasn

pasn

pasn

Mzzzz

yyyy

xxxx

m

nnn

m

m

fff

fff

fff

J

21

2

2

2

1

2

1

2

1

1

1

1212121212

22222

11111

fffff

fffff

fffff

f

Page 77: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 67 Maya Santos Manuel

Para que se pueda completar la solución se tiene que hacer cumplir la condición inicial de

las 12 funciones por grado de libertad, por lo cual se tiene que agregar un incremento y así

poder resolver el sistema que se describe en la ecuación (3.18).

(3.18)

Se observa que para obtener la solución, las 12 funciones por grado de libertad con el

incremento se restan de las 12 funciones sin incremento y el resultado se divide entre el

incremento. Para poder actualizar el nuevo valor se tiende a obtener el jacobiano, pero

como el jacobiano no es una matriz cuadrada no se puede calcular su matriz inversa, por lo

que se calcula su matriz pseudoinversa, posteriormente la pseudoinversa se multiplica por

las 12 funciones del modelo pero negativas para ir reduciendo el error, el resultado que se

obtiene es una matriz como la que se muestra en la ecuación (3.19).

(3.19)

Para que pueda ser añadida a la actualización de la nueva configuración angular se tiene

que obtener su transpuesta, consiguiendo una ecuación como la siguiente:

(3.20)

El resultado de la transpuesta se puede agregar a la configuración angular que se tiene, todo

este proceso se repite “n” veces actualizando en cada iteración el valor de la función,

consiguiendo con esto que cada vez el valor del error sea menor, hasta que se cumple la

condición de obtener un error en el valor angular aproximado de .

Para que el programa mencionado anteriormente nos de la solución de la cinemática inversa

para este robot manipulador, se tiene que introducir el punto en el que se quiere posicionar

el brazo robótico, luego dar los el valor del eje “X”, “Y” y “Z” para formar la matriz de

posición, después se introduce el guess inicial que es la propuesta de los valores angulares

de los cuales el programa va a partir.

Para comprobar que el programa funciona correctamente, se introduce el siguiente vector

de coordenadas para la posición del gripper, que es [237.2792 0 123.8592], que en

realidad significa 237.2792mm sobre el eje “X”, 0mm sobre el eje “Y” y 123.8592mm

sobre el eje “Z”, con lo cual el Brazo Robótico tendrá la siguiente posición:

nn fff ˆ,ˆ,ˆˆ,ˆ,,ˆ 211211

1

1

Page 78: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 68 Maya Santos Manuel

Fig. 3.10 Posición del brazo robótico para las coordenadas [237.2792 0 123.8592]

Introduciendo estos valores tenemos los siguientes resultados:

%%%%%%%%%%%%INICIO DEL PROGRAMA EN MATLAB%%%%%%%%%%%

Vector de posición origen: [237.2792 0 123.8592]

Orientación del eje X del Gripper con respecto a la base: x

Orientación del eje Y del Gripper con respecto a la base: y

Orientación del eje Z del Gripper con respecto a la base: z

Guess Inicial de los Ángulos?: [45 45 45 45 45]

Matriz de Posición Orientación resultante es:

M =

1.0000 0 0 237.2792

0 1.0000 0 0 (3.21)

0 0 1.0000 123.8592

0 0 0 1.0000

La configuración angular para el punto deseado es:

INV =

[-0.0002 -19.0048 71.4264 -52.4160 4.4191] (3.22)

%%%%%%%%%%%%%FIN DEL PROGRAMA EN MATLAB%%%%%%%%%%%%

Page 79: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 69 Maya Santos Manuel

Para comprobar que los valores son correctos, se introducen en el programa que resuelve

la cinemática directa, el resultado que se debe observar es: [237.2792 0 123.8592]. A

continuación se muestra este procedimiento:

%%%%%%%%%%%%INICIO DEL PROGRAMA EN MATLAB%%%%%%%%%%%

Programa que Resuelve la Cinemática Directa

Ingresa los datos en orden de articulación

Ingresa los Ángulos Tetas en forma de vector

[t1 t2 t3 t4 t5] = [ -0.0002 -19.0048 71.4264 -52.4160 4.4191] (3.23)

Tetas =

-0.0002 -19.0048 71.4264 -52.4160 4.4191

Estos son los Parámetros de Denavit Hartenberg

pdh =

-0.0002 -90.0000 74.5000 0

-19.0048 0 0 180.0000

71.4264 0 0 110.0000 (3.24)

-52.4160 90.0000 0 0

4.4191 0 77.9200 0

La Matriz M

M =

0.9970 -0.0770 0.0001 237.2792

0.0770 0.9970 -0.0000 -0.0008

-0.0001 0.0000 1.0000 123.8594 (3.25)

0 0 0 1.0000

%%%%%%%%%%%%%FIN DEL PROGRAMA EN MATLAB%%%%%%%%%%%%

Como se puede observar, los valores encontrados son muy cercanos a los obtenidos en el

programa de la cinemática inversa, debido a que el método numérico no encuentra el valor

real sino una aproximación, en este caso, es muy cercana al valor real con un error

prácticamente nulo.

Page 80: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 70 Maya Santos Manuel

3.2.4 Generación de trayectorias. El objetivo de la generación de trayectoria es aproximarse al camino deseado, para hacerlo se

utilizan unas series de puntos entre el punto inicial y el final, una vez encontrados dichos

puntos se resuelve la cinemática inversa para cada uno de ellos y encontrar la configuración

angular que seguirá el brazo manipulador.

Para el cálculo de la generación de trayectorias se utilizo el mismo software Matlab, para

realizar el código fuente de un programa que calcule la trayectoria deseada del brazo robótico, a

continuación se observa el diagrama de flujo:

Se introduce el Vector

de Posición de origen

y la aproximación

inicial de los ángulos o

guess inicial.

Inicio

Se entra en una serie de ciclos en

donde va actualizando la matriz de

orientación y se va calculando la

cinemática inversa para cada punto

intermedio de la recta.

Se calculan 10 puntos intermedios

entre el punto de origen y el punto

al que se desea llegar

Se muestran los valores

angulares los 10 puntos

intermedios entre la recta.

Fin

Page 81: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 71 Maya Santos Manuel

Lo que se requiere es introducir el primer punto o punto de origen, posteriormente el punto al

que se quiere llegar, se calcula una serie de puntos entre estos dos y se calcula su

configuración angular para cada uno de ellos.

Partiendo del punto [110 0 176.58] como origen, el programa de la cinemática inversa

calcula su configuración angular y la de los puntos que hay entre este y el punto al que se

quiere llegar, tomándolo como [237.2792 0 123.8592]. El resultado que otorga el programa

que calcula la generación de trayectorias es el siguiente:

%%%%%%%%%%%%INICIO DEL PROGRAMA EN MATLAB%%%%%%%%%%%

Vector de posición origen: [110 0 176.58]

Orientación del eje X del Gripper con respecto a la base: x

Orientación del eje Y del Gripper con respecto a la base: y

Orientación del eje Z del Gripper con respecto a la base: z

Guess Inicial de los Ángulos? : [45 45 45 45 45]

Matriz de Posición Orientación resultante es:

M =

1.0000 0 0 110.0000

0 1.0000 0 0 (3.26)

0 0 1.0000 176.5800

0 0 0 1.0000

La configuración angular para el punto deseado es:

INV =

-0.0000 -47.4151 149.5440 -93.7833 0.0014 (3.27)

Deseas realizar cambios en la configuración angular? (si=1, no=0) : 0

Deseas realizar la generación de trayectorias? (si=1, no=0) : 1

Punto final del segmento (x,y,z): [237.2792 0 123.8592]

Introduce el Guess Inicial de los Ángulos? : [45 45 45 45 45]

Page 82: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 72 Maya Santos Manuel

La secuencia de la configuración angular para el nuevo punto es

Theta =

-0.0000 -47.4151 149.5440 -93.7833 0.0014

-0.0000 -45.6618 141.3908 -89.9042 0.0025

-0.0000 -43.4854 134.3066 -86.0852 0.0037

-0.0000 -41.0974 127.4624 -82.2710 0.0050

-0.0000 -38.5516 120.6244 -78.4139 0.0062

-0.0000 -35.8628 113.6741 -74.4718 0.0075 (3.28)

-0.0000 -33.0278 106.5227 -70.4026 0.0088

-0.0000 -30.0312 99.0838 -66.1589 0.0100

-0.0000 -26.8445 91.2558 -61.6814 0.0113

-0.0000 -23.4226 82.9039 -56.8895 0.0125

%%%%%%%%%%%%%FIN DEL PROGRAMA EN MATLAB%%%%%%%%%%%%

Ahora, se toman los últimos valores angulares y se introducen al programa que calcula la

cinemática directa y los resultados son los siguientes:

%%%%%%%%%%%%INICIO DEL PROGRAMA EN MATLAB%%%%%%%%%%%

Programa que Resuelve la Cinemática Directa

Ingresa los datos en orden de articulación

Ingresa los Ángulos Tetas en forma de vector

[t1 t2 t3 t4 t5] = [-0.0000 -23.4226 82.9039 -56.8895 0.0125] (3.29)

Tetas =

0 -23.4226 82.9039 -56.8895 0.0125

Estos son los Parámetros de Denavit Hartemberg

pdh =

0 -90.0000 74.5000 0

-23.4226 0 0 180.0000

82.9039 0 0 110.0000 (3.30)

-56.8895 90.0000 0 0

0.0125 0 77.9200 0

Page 83: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 73 Maya Santos Manuel

La Matriz M

M =

0.9990 -0.0002 0.0452 232.5513

0.0002 1.0000 0 0

-0.0452 0.0000 0.9990 126.1311 (3.31)

0 0 0 1.0000

%%%%%%%%%%%%%FIN DEL PROGRAMA EN MATLAB%%%%%%%%%%%%

Con lo cual se puede apreciar que los valores son prácticamente los mismos, esto por el

error de aproximación que surge en la cinemática inversa.

NOTA: Se puede observar en los temas anteriores, que las ecuaciones que se desarrollaron

para calcular la cinemática directa, la cinemática inversa y la generación de trayectorias,

son para un manipulador robótico de 5 grados de libertad y el manipulador que se presenta

es de 4 grados de libertad; esto se debe a que por motivos de presupuesto y tiempo no se

logro dotar del quinto grado de libertad a nuestro manipulador robótico, pero se

conservaron los cálculos para futuras modificaciones.

Page 84: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 74 Maya Santos Manuel

CAPÍTULO IV

“IMPLEMENTACIÓN”

Page 85: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 75 Maya Santos Manuel

4.1 ELMENTO FINAL, GRIPPER.

La primera mano artificial fue probablemente el garfio que reemplazaba una mano humana

perdida, la mano robótica industrial puede ser diseñada para hacer un mejor trabajo en

algunas operaciones que la mano humana no podría realizar, la herramienta final del robot

puede ser también conocida como gripper, mano o efector final, el gripper, puede tener

también en ella sensores, a continuación se mencionan algunos:

Interruptores de proximidad.

Sensores luminosos y fibra óptica.

Interruptores de presión.

Sensores de campo magnético.

Detectores de vibración.

Sensores de velocidad y movimiento.

Los gripper son accionados generalmente por 3 tipos de fuerzas, como son:

Neumáticos. Su potencia puede venir de una fuente externa de aire comprimido, o

también de la misma fuerza que impulsa a un manipulador neumático.

Hidráulicos. Estos son los gripper más fuertes disponibles, sin embargo, son

normalmente usados solamente en manipuladores impulsados por hidráulica.

Eléctricos. este puede usar un dispositivo electromagnético para recolección sobre

una zona utilizando potencia eléctrica, un gripper equipado con sensores usualmente

requiere también energía, la mayoría de estos gripper son montados en

manipuladores impulsados por corriente eléctrica.

Se necesitan muchos componentes y procedimientos técnicos, tales como un controlador,

un programa, sensores y pinzas para hacer que un manipulador tome una pieza de forma

realmente automática, al final de los eslabones, son las mordazas de la pinza o su

equivalente lo que toma contacto con la pieza, este contacto es a veces un diminuto punto y

es aquí donde se encuentran las mayores diferencias.

Una pieza puede ser sujetada por medio de la fuerza (fuerza de fricción) de los dedos de la

pinza, sin embargo, puede considerarse también el simple apoyo en la forma de la pinza, e

incluso los efectos adhesivos, algunos ejemplos de estos métodos de sujeción se muestran

en la figura 4.1.

Page 86: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 76 Maya Santos Manuel

Fig. 4.1 Métodos de sujetar una pieza

A menudo se utiliza la sujeción por la fuerza de apriete, pero se tiene que considerar en este

caso lo siguiente: para sujetar el objeto, los dedos tienen que ejercer una fuerza FG de por lo

menos FG = m · g/, en este caso, „‟ es el coeficiente de rozamiento y „m‟ la masa de la

pieza, en una operación de montaje esta fuerza no es suficiente, pues hay que añadirle la

fuerza del propio ensamblaje FS, por consiguiente, la fuerza necesaria de sujeción será FG =

(m · g + FS)/.

Si se supone un coeficiente de rozamiento de 0,1, la fuerza de sujeción FG sería 10 veces

superior a la suma formada por el peso de la pieza a manejar y la fuerza de ensamblaje, esto

puede producir deformaciones o deterioros del objeto, sobre todo cuando se manipulan

piezas delicadas, es por ello aconsejable utilizar, por ejemplo una sujeción con forma. La

figura 4.2 muestra algunas formas de sujeción para diferentes objetos.

Fig. 4.2 formas de sujeción.

Page 87: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 77 Maya Santos Manuel

Cuando una pieza es levantada rápidamente, no sólo está sometida a la fuerza debida al

peso gm , sino también a una fuerza de inercia FT que es función de la aceleración

vertical, en cambio si se gira la mano 90° antes de elevar la pieza, la sujeción por fuerza se

transforma temporalmente casi en una sujeción con forma para este movimiento, estos

ejemplos muestran que la pinza es un componente en el que influyen muchos factores y que

nunca debe utilizarse sin considerar las diferentes posibilidades.

4.2 FUERZAS QUE ACTÚAN EN EL GRIPPER.

La misión principal de un gripper o pinza es la de sostener objetos de forma segura durante

un cierto tiempo, algunas pinzas utilizan el principio de sujeción por fuerza, esta fuerza de

sujeción exigida es el principal criterio para la selección del tipo y tamaño adecuado de

pinza.

Esta ley, formulada por Isaac Newton en 1687 dice lo siguiente:

“La acciones de dos cuerpos entre sí son siempre iguales y en sentido opuesto, es decir,

la reacción es siempre igual y opuesta a la acción.”

Esto significa que la fuerza y la contra fuerza están en equilibrio, un ejemplo simple seria

una barra es sometida a una carga de tracción, como en la figura 4.3, en el primer caso, un

extremo de la barra está sujeto, mientras que en el segundo dos personas tiran en sentido

opuesto por cada extremo.

La fuerza de tracción en la barra en cada caso no es de 400 N sino de 200 N, si esto se

aplica a la pinza de placas paralelas se observa que no importa si sólo se desplaza un dedo y

aplica una fuerza de 200 N o si los dos dedos opuestos generan una fuerza de 200 N cada

uno, las dos pinzas son equivalentes en términos de fuerza.

Fig. 4.3 Ley de interacción de fuerzas.

Page 88: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 78 Maya Santos Manuel

4.2.1 Las fuerzas de rozamiento

Estas fuerzas crean un efecto de sostenimiento desde el punto de vista del rozamiento, la

fuerza de sujeción actúa como una fuerza normal, la verdadera función de sujeción la

realizan las fuerzas de rozamiento FR que se crean según la ley de rozamiento de Coulomb,

en una dirección opuesta a la de movimiento y opuesta a la fuerza G, debida al peso del

objeto sujetado.

Fig. 4.4 Elementos que interactúan en la sujeción de piezas, 1 Dedo, 2 Mandíbula, 3 Pieza, μ Coeficiente

de rozamiento

Esta situación se aplica cuando el dispositivo de manipulación se halla en reposo (o se

mueve muy lentamente), se obtiene la siguiente ecuación:

(4.1)

O expresado de otra forma:

(4.2)

Variables en la fórmula:

FG = Fuerza mínima requerida de sujeción en N.

G = Fuerza debida al peso del objeto en N.

g = Aceleración de la gravedad en m/s2.

m = Masa de la pieza en kg.

n = Número de dedos o mandíbulas.

= Coeficiente de rozamiento entre la mandíbula y el objeto.

Como vemos, en la fórmula se considera el número de dedos ya que se crea una fuerza de

rozamiento FR en cada mandíbula, por ejemplo con tres puntos de contacto, n = 3, hay

diversas variantes posibles para la solución de tres puntos, suponiendo que se tiene una

pinza de tres dedos y una solución basada en una pinza de dos dedos, en este último caso, la

fuerza de pinzado se reparte en la mandíbula en V en fuerzas de contacto FKi.

Page 89: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 79 Maya Santos Manuel

Fig. 4.5 Vista en planta de dos situaciones de pinzado, Pinza de dos dedos con mandíbula en V y Pinza de

tres dedos.

Si, en el caso de la pinza de dos dedos, se elige una mandíbula con un ángulo 120°, el

mismo que la posición de los dedos en una pinza de tres dedos, ambas pinzas serían iguales

respecto a las fuerzas de sujeción, sólo habrá diferencias con otros ángulos de mandíbula,

en estos casos debemos referirnos a ángulos de contacto, que pueden determinarse por la

siguiente fórmula, si se permite cualquier ángulo de mandíbula:

(4.3)

En donde:

i = 1, 2, 3

α1 = 180° – α 23

α2 = 180° – α 13

α3 = 180° – α 12

El total de las 3 fuerzas de rozamiento FR1 a FR3 debe ser por lo menos suficientemente

grande para compensar la fuerza G debida al peso producida por la gravedad, también

deberán conocerse las fuerzas de contacto si queremos comprobar la presión de sujeción

por unidad de superficie en el caso de piezas sensibles.

Fig. 4.6 Relaciones de las fuerzas de sujeción durante un movimiento ascendente.

Page 90: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 80 Maya Santos Manuel

4.3 Sujeción por forma y rozamiento.

En el tema 4.2 y 4.2.1 se analizaron las fuerzas que interviene al momento de sujetar una

pieza, así como los cálculos correspondientes para una sujeción segura, en base a estos

datos y a la tabla 4.2, se desarrollo un gripper para sujeción por forma y rozamiento (ver

figura 4.4), a continuación analizaremos los calculo de las fuerzas y los parámetros que se

deben tomar en cuenta para este caso en particular.

Tabla 4.1 Sujeción por forma y rozamiento.

La sujeción depende mucho del coeficiente de rozamiento, como valores orientativos

pueden tomarse los siguientes:

Piezas con superficies lisas ligeramente aceitadas = 0,1

Contacto de metal con = 0,5 a 0,2

Mandíbulas con superficies grafiladas = 0,3 a 0,4

Mandíbulas con recubrimiento antideslizante o contacto metal/goma = 0,5 a 0,7.

En el caso de manipuladores robóticos, puede suceder que la situación de la fuerza cambie

de vez en cuando durante un ciclo de movimiento, puede ser posible contrarrestar ciertas

fuerzas que se producen utilizando mandíbulas de forma (movimientos laterales), mientras

que otras fuerzas pueden necesitar un mayor coeficiente de rozamiento, se tiene que

identificar la fase del movimiento que exige la mayor fuerza de sujeción y seleccionar la

pinza bajo estos criterios.

Page 91: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 81 Maya Santos Manuel

Fig. 4.7 Diversos movimientos típicos y las fuerzas que se producen en ellos.

En la figura 4.7 se muestran algunos movimientos y las fuerzas que se producen en cada

uno, las cuales son:

a) En reposo

b) Movimiento ascendente

c) Movimiento descendente

d) Movimiento lateral

e) Movimiento ascendente inclinado.

En condiciones de funcionamiento normales es posible utilizar los valores de aceleración

que alcanzan los robots, sin embargo esto no sería del todo correcto, ya que los valores

críticos no son los de las condiciones normales, sino los de las situaciones excepcionales,

especialmente las que siguen a una PARADA DE EMERGENCIA del robot, podemos

tomar los siguientes valores estándar para la aceleración:

Aceleración en funcionamiento normal, lineal: a = 5 m/s2,

Aceleración por PARO DE EMERGENCIA, lineal: aN = 10 m/s2,

Aceleración en funcionamiento normal, rotativa: ε= 10 rad/s–2

Aceleración por PARO DE EMERGENCIA, rotativa: εN = 17 rad/s–2.

Page 92: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 82 Maya Santos Manuel

Tabla 4.2 Correlación próxima entre objetos y tipos de pinzas

Page 93: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 83 Maya Santos Manuel

4.3.1 Análisis de fuerzas para el gripper.

A continuación se muestran los cálculos de las fuerzas de sujeción para el gripper que se

desarrollo, tomando como valor de coeficiente de fricción (µ) el de contacto metal/goma de

0.6 y los valores vistos en los temas anteriores.

CÁLCULO DE FUERZAS QUE ACTUAN EN EL GRIPPER

FG= Fuerza de sujeción durante la elevación:

NKg

n

SagmFG 2466.0

2.1

296.0

)2)(6.0(

2)58.9(01.0)(

(4.4)

Fuerza de sujeción durante el recorrido lateral:

Namn

SgmFG 213.005.0

2.1

196.0)5)(01.0(

)2)(6.0(

)2)(8.9)(01.0(

(4.5)

Fuerza de sujeción durante el paro de emergencia:

Nn

SagmF N

G 33.02.1

396.0

)2)(6.0(

2)108.9)(01.0()(

(4.6)

Cilindros ''30''150''180

Fuerza de sujeción durante la elevación:

NagmFK 085.0''30tan)58.9(01.0tan)(1 (4.7)

Nagm

FK 085.0732.1

148.0

''30cos2

)58.9(01.0

cos2

)(2

(4.8)

NSFF KG 17.0)2)(085.0(1 (4.9)

Fuerza de sujeción durante el recorrido lateral:

NamgmFK 106.0)501.0()''30)(tan8.9)(01.0()())(tan)((1 (4.10)

Namgm

FK 106.0)501.0(''30cos2

)8.9)(01.0()(

cos2

))((2

(4.11)

NSFF KG 212.0)2)(106.0(1 (4.12)

Page 94: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 84 Maya Santos Manuel

Fuerza de sujeción durante el paro de emergencia:

NagmF NK 114.030tan)108.9(01.0tan)(1 (4.13)

Nagm

F N

K 114.030cos2

)108.9(01.0

cos2

)(2

(4.14)

NSFF KG 228.0)2)(114.0(1 (4.15)

Una vez que se han obtenido los resultados de las fuerzas para la sujeción en el gripper, el

siguiente paso es el análisis, montaje y construcción del diagrama de flujo que nos van a

permitir la selección y manipulación de piezas.

4.4 Sensores táctiles FSR.

Resistencias Sensibles a la Fuerza o FSR (por sus siglas en inglés), son un tipo de sensor

que utiliza las propiedades de la impedancia para medir fuerza (o presión) aplicada a un

sensor, el FSR consta de dos partes, la primera es un material que causa resistencia al

voltaje aplicado sobre una película delgada, el segundo es un diseño de grupo de contactos

(en forma de interruptores) también aplicados a otra película; al contacto de las dos

películas, el material de la resistencia permite el paso de corriente entre los grupos de

interruptores, esto implica que al aplicar fuerza sobre el sensor, se establece una conexión

entre los contactos y por lo tanto la conductividad es mejor e incrementada.

Fig. 4.8 sensores piezorresistivos FSR.

Son dispositivos que tienen una capa delgada de plástico, la cual, muestra una disminución

de resistencia con un incremento de fuerza en el área de contacto, su sensibilidad de fuerza

es optimizada para el empleo en el control o manejo de contacto, de dispositivos

electrónicos.

Page 95: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 85 Maya Santos Manuel

Tiene una resistencia variable en función de la presión aplicada y se rige por el principio

piezorresistivo, estos dispositivos se fabrican con un material elástico en cuatro capas,

consistiendo en:

Una capa de plástico eléctricamente aislador.

Un área activa que consiste en una serie de conductores.

Un espaciador plástico.

Un substrato flexible.

Fig. 4.9 Capas de un FSR.

La gama usable de la señal de salida de un FSR es casi lineal, si se aplica bastante fuerza,

su respuesta se convierte en no lineal debido a la saturación del sensor, tiene una baja

exactitud, con errores de hasta un 25% de salida; sin embargo, es excelente para

aplicaciones donde se necesita una medición cualitativa.

Fig. 4.10 Señal de salida de un FSR.

Page 96: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 86 Maya Santos Manuel

Tomando en cuenta la grafica anterior, una respuesta parecida a un interruptor es evidente,

la fuerza de rotura aumenta con el apoyo creciente, la rigidez, el tamaño de actuador y el

grosor adhesivo del espaciador.

La exactitud de la fuerza se extiende aproximadamente del ± 5% al ± 25%, dependiendo de

la consistencia de la medida, la actuación del sistema, de la tolerancia, de la capacidad de

repetición llevada a cabo en la fabricación y de la calibración.

4.4.1 Montaje de los FSR en el efector final.

Dada la forma que se les dio a los palpadores del efector final (figura 4.4), para este

proyecto se desidio usar 3 sensores piezorresistivos FSR con las siguientes características:

Diámetro de área activa: 5mm (0.2").

Espesor: 0.3mm (0.012").

Largo (incluyendo terminales): 38.1mm (1.5").

Ancho: 6.4mm (0.25").

Los sensores mencionados, se montaron en los palpàdores del efector final como se

muestra en la figura 4.5.

Fig. 4.11 Efector final o gripper del robot.

1

2

3

Fig. 4.12 Localización de los sensores en el gripper.

Page 97: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 87 Maya Santos Manuel

Después de definir la forma de los palpadores y el arreglo de sensores, el siguiente paso que

se tomo fue la de desarrollar un diagrama de flujo que en base a la señal de los sensores nos

permita la selección y manipulación de piezas.

4.4.2 Diagrama de flujo para la identificación de piezas.

Inicio

Posicionar el Brazo Robótico

con el gripper abierto en las

coordenadas de localización

del objeto.

Cerrar el gripper y en base a

las señales obtenidas por los

sensores, tomar las

decisiones.

A’

Si

¿Sensor 2

detecta fuerza?

No

¿Sensor 1y 3

detectan fuerza?

Si No

El objeto tiene forma

cilíndrica y está en

posición vertical y se

procede a mover a la

zona designada para

estas piezas.

El objeto tiene forma

cilíndrica y está en

posición horizontal y se

procede a mover a la

zona designada para

estas piezas.

El objeto es de forma

cubica, y se procede a

mover a la zona designada

para estas piezas.

Si

No

¿Se desea hacer

otra selección? A

Fin

Page 98: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 88 Maya Santos Manuel

4.5 DESARROLLO DE LA INTERFAZ

Por ultimo se desarrollo una interface con ayuda del programa Visual Basic 6.0, para

manejar los movimientos de las articulaciones del robot, así como la apertura y cierre del

gripper, estos movimientos se controlan a través de los sliders que aparecen en el

programa, como los muestra la figura 4.13.

Fig. 4.13 Vista del “form” del programa desarrollado en Visual Basic.

Como se puede apreciar en la figura 4.13, del lado izquierdo se encuentran 5 slider que

corresponden a los movimientos de la cadera, hombro, codo, muñeca y gripper; del lado

superior derecho hay un recuadro, que nos muestra la posición a la que se esta moviendo la

articulación, dependiendo del slider que este en funcionamiento, además del lado inferior

derecho hay una imagen que nos indicara que el gripper esta moviéndose.

Este programa podrá sufrir modificaciones en el futuro, dependiendo de la aplicación que

se le desee dar al manipulador, de las especificaciones del proceso y de la habilidad del

programador.

Nota: Se decidió usar el programa Visual Basic 6.0, debido a que cuentan con

comunicación directa vía USB con las tarjetas pidhget.

Page 99: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 89 Maya Santos Manuel

CAPITULO V

“CONCLUSIONES”

Page 100: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 90 Maya Santos Manuel

5.1 Conclusiones finales.

De los resultados obtenidos en este trabajo, se puede concluir que, el análisis cinematico

para un robot manipulador nos brinda datos importantes, acerca del modelo y el

comportamiento del robot, por lo que resulta importante contar con una herramienta que

nos proporcione estos cálculos de una manera sencilla y rápida, además que la generación

de trayectorias nos señala rutas que evitan colisiones y ahorran tiempo al momento de que

el robot manipulador realice una tarea dada, lo que beneficiaria los tiempos de producción

en una empresa.

Por otra parte se pueden apreciar las ventajas que brinda el usar servomotores para el

movimiento en las articulaciones de hombro, codo, muñeca y gripper; en este prototipo, por

mencionar algunas, el tamaño que por ser reducido facilita el movimiento y la instalación,

además que el torque proporcionado por cada servomotor, es considerable tomando en

cuenta su tamaño, por ultimo la precisión en la posición que nos brindan los servomotores

es en verdad importante, ya que nos permiten colocar el efector final en el punto deseado,

con ayuda de los valores obtenidos en la cinemática inversa y generación de trayectorias.

También podemos concluir que el uso de sistemas embebidos (tarjetas pidhget) y del

programa Visual Basic, facilita en gran medida la programación de los movimientos del

robot, partiendo de que las tarjetas pidhget nos proporcionan una comunicación directa

entre la computadora y el servomotor, además de que el programa Visual Basic nos permite

el desarrollo de la interface hombre-maquina para el monitoreo y control de los

movimientos del brazo robótico

Por ultimo podemos concluir, que para algunos procesos, el uso de tecnología nueva y en

desarrollo, para la manipulación y selección de piezas, resulta complicada e inadecuada ya

que la electrónica que se involucra en estos sistemas no es lo suficientemente robusta para

operar en ambientes hostiles, como los que se presentan en las plantas industriales, por lo

que el proponer un arreglo de sensores y un algoritmo adecuado de programación nos

brindan una alternativa a estas tecnologías.

Page 101: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 91 Maya Santos Manuel

GLOSARIO

Aceleración de coriolis: es una aceleración ficticia que se puede observar cuando un

objeto se desplaza sobre una plataforma que se encuentra girando, desde el punto de vista

del observador situado en el sistema de referencia que gira, el objeto se curva y se desvía de

su trayectoria; sin embargo, para un observador exterior, el objeto describe una trayectoria

rectilínea.

Algoritmo: [sust. masc.] Conjunto ordenado y finito de operaciones que permite hallar la

solución de un problema. Método y notación en las distintas formas del cálculo.

Androide: (Del gr. aner, andrós, varón, y eidos, forma.) m. Autómata de figura de hombre.

Ángulos de Euler: constituyen un conjunto de tres coordenadas angulares que sirven para

especificar la orientación de un sistema de referencia de ejes ortogonales, normalmente

móvil, respecto a otro sistema de referencia de ejes ortogonales normalmente fijos.

Automata: [sust. masc.] Instrumento que encierra dentro de sí el mecanismo que le

imprime determinados movimientos. [fig.] [Fam.] Persona excesivamente débil, que se deja

dirigir por otra.

Bits: (Plural de bit), Unidad de medida de la capacidad de memoria, equivalente a la

posibilidad de almacenar la selección entre dos posibilidades, especialmente usadas en los

computadores.

Bucle de control: Un bucle o ciclo, en programación, es una sentencia que se realiza

repetidas veces a un trozo aislado de código, hasta que la condición asignada ha dicho bucle

deje de cumplirse, el bucle es una estructura de control en la que se puede indicar el número

máximo de iteraciones, está disponible en casi todos los lenguajes de programación

imperativos.

Bucle de retroalimentación: es un proceso por el que una cierta proporción de la señal de

salida de un sistema se redirige de nuevo a la entrada. Esto es de uso frecuente para

controlar el comportamiento dinámico del sistema.

Chips: es una pastilla pequeña de silicio, de algunos milímetros cuadrados de área, sobre la

que se fabrican circuitos eléctricos con base a dispositivos constituidos por

semiconductores y que está protegida dentro de un encapsulado de plástico o cerámica. El

encapsulado posee conductores metálicos apropiados para hacer conexión entre la pastilla y

un circuito impreso.

CMOS: (del inglés Complementary Metal Oxide Semiconductor, "Metal Óxido

Semiconductor Complementario") es una de las familias lógicas empleadas en la

fabricación de circuitos integrados (chips).

Page 102: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 92 Maya Santos Manuel

Columnas orto-normales: Un conjunto de vectores es ortonormal si es a la vez un

conjunto ortogonal y la norma de cada uno de sus vectores es igual a 1. Esta definición sólo

tiene sentido si los vectores pertenecen a un espacio vectorial en el que se ha definido un

producto interno.

Control inteligente: Sistema que tiene la habilidad para actuar de forma apropiada en un

entorno incierto, inteligencia=proceso de análisis, organización y conversión de datos en

información estructurada (conocimiento), sustitución a la mente humana en la toma de

decisiones, planificación y aprendizaje, utiliza de forma combinada técnicas de Inteligencia

Artificial, Investigación Operativa y Control; capacidad del sistema de asemejar el

comportamiento de alguno de sus elementos a alguna de las cualidades cognoscitivas del

comportamiento humano, como el aprendizaje, el razonamiento simbólico, la planificación

o la adaptación a un medio cambiante.

Control numérico: Los datos están representados en forma de códigos numéricos

almacenados en un medio adecuado, se llaman también sistemas de punto a punto, o de

camino continuo.

Control retroalimentado: Es el que auto corrige las perturbaciones eliminando los errores

para obtener la salida ideal.

Controlador: es un programa informático que permite al sistema operativo interactuar con

un periférico, haciendo una abstracción del hardware y proporcionando una interfaz

posiblemente estandarizada para usarlo. Se puede esquematizar como un manual de

instrucciones que le indica cómo debe controlar y comunicarse con un dispositivo en

particular.

Controladores lógicos programables (PLC): Dispositivo electrónico que controla

máquinas y procesos, utiliza una memoria programable para almacenar instrucciones y

ejecutar funciones específicas que incluyen activación y desactivación, temporización,

conteo, secuencia aritmética y manejo de datos.

Efector final: En robótica, el término de efector final se utiliza para describir la mano o

herramienta que esta unida a la muñeca, el efector final representa la herramienta especial

que permite al robot de uso general realizar una aplicación particular, esta herramienta

especial debe diseñarse específicamente para la aplicación. Pueden dividirse en dos

categorías: pinzas y herramientas.

Flexibilidad: Habilidad de adaptar, redefinir, reinterpretar o tomar una nueva táctica para

llegar a la meta, se demuestra cuando las respuestas a un problema sugieren un uso inusual

de las mismas.

Grados de libertad: El numero de grados de libertad que tiene un brazo robot es el numero

de magnitudes que pueden variarse independientemente por lo general coincide con el

numero de articulaciones móviles, se necesitan tres grados de libertad para posicionar el

efector terminal dentro de un entorno de trabajo tridimensional, se necesitan otros tres para

dirigir el efector terminal hacia cualquier dirección.

Page 103: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 93 Maya Santos Manuel

Gripper: (véase efector final).

Hardware: es el conjunto de dispositivos físicos de los que se compone una unidad central

de procesamiento, comprende componentes tales como la placa madre, el teclado, el ratón,

las unidades de disco o el monitor, el hardware por sí mismo no hace que una máquina

funcione, es necesario, además, instalar un Software.

Interlock: circuito de: En electrónica digital se trata de un circuito que evita que se

produzcan determinadas condiciones de señal, no deseadas.

Lenguaje de programación: Código formado por símbolos y palabras reservadas que

instruye a una computadora para realizar tareas computacionales.

Lenguaje ensamblador: Es otro lenguaje de programación de bajo nivel, pero simbólico

porque las instrucciones se construyen usando códigos de tipo mnemotécnico, lo cual

facilita la escritura y depuración de los programas pero no los acorta puesto que para cada

acción se necesita una instrucción. El programa ensamblador va traduciendo línea a línea a

la vez que comprueba la existencia de errores.

Lógica difusa: se basa en lo relativo de lo observado, este tipo de lógica toma dos valores

aleatorios, pero contextualizados y referidos entre sí, así por ejemplo, una persona que mida

2 metros es claramente una persona alta, si previamente se ha tomado el valor de persona

baja y se ha establecido en 1 metro. Ambos valores están contextualizados a personas y

referidos a una medida métrica lineal.

Matriz cuadrada: es una matriz cuadrada si el número de filas es igual al número

columnas, es decir, n = m. Se dice, entonces que la matriz es de orden n.

Matriz de transformación homogénea: una matriz de dimensión 4*4 que representa la

transformación de un vector de coordenadas homogéneas de un sistema de coordenadas a

otro.

Matriz jacobiana: es una matriz formada por las derivadas parciales de primer orden de

una función, una de las aplicaciones más interesantes de esta matriz es la posibilidad de

aproximar linealmente a la función en un punto; en este sentido, el Jacobiano representa la

derivada de una función multivariable.

Métodos numéricos iterativos: Un método indirecto da lugar a una sucesión de vectores

que idealmente converge a la solución, el cálculo se detiene cuando se cuenta con una

solución aproximada con cierto grado de precisión especificado de antemano o después de

cierto número de iteraciones, los métodos indirectos son casi siempre iterativos: para

obtener la sucesión mencionada se utiliza repetidamente un proceso sencillo.

escaladoaPerspectiv

TraslaciónRotación

wf

pRT

1*13*1

1*33*3

Page 104: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 94 Maya Santos Manuel

Microcontrolador: un circuito integrado diseñado especialmente para controlar sistemas

electrónicos, que consta de todos los elementos de una computadora, como memoria de

programa, memoria RAM, memoria EEPROM, puertos de entrada y salida, además de

contadores, temporizadores, convertidores de analógico a digital, comparadores, etc.

Microprocesador: circuito electrónico que actúa como unidad central de proceso de un

ordenador, proporcionando el control de las operaciones de cálculo, los microprocesadores

también se utilizan en otros sistemas informáticos avanzados, como impresoras,

automóviles o aviones.

Modelo geométrico inverso: define las posiciones articulares necesarias para poder

realizar una trayectoria definida en el espacio cartesiano, para que el robot pueda realizar la

trayectoria deseada.

Overflow: Es una situación el cual el computador personal sobrepasa su capacidad de

calculo, búsqueda, ordenamiento, o cualquier acción requerida por el usuario, que por

limitación del computador éste no puede realizar.

Programación: La programación es el proceso que involucra un desarrollo de la lógica

para la creación de algoritmos que una computadora pueda comprender, y posteriormente

escribirlos en un lenguaje de programación. Es necesario precisar un objetivo y el modo en

que se ejecutara dicho programa, para esto es útil planear todo el proceso.

Pseudoinversa: Matriz única X que puede satisfacer las cuatro ecuaciones siguientes para

una matriz A dada (sea singular o no):

AXA=A

XAX=X

(XA)*= (XA)

(AX)*=AX

Robota: Palabra eslava que se refiere al trabajo realizado de manera forzada.

Software: Conjunto de instrucciones y datos codificados para ser leídas e interpretadas por

una computadora, estas instrucciones y datos fueron concebidos para el procesamiento

electrónico de datos.

Teoría de control: es un campo interdisciplinario de la ingeniería y las matemáticas, que

trata con el comportamiento de sistemas dinámicos, a la salida deseada de un sistema se la

llama referencia, cuando una o más variables de salida de un sistema necesitan seguir cierta

referencia sobre el tiempo, un controlador manipula la entrada al sistema para obtener el

efecto deseado en la salida del sistema.

Telemetrico: (De telemetría), sistema destinado a transmitir información entre dos puntos.

Page 105: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 95 Maya Santos Manuel

Timer: (Temporizador), están presentes en casi todos los circuitos electrónicos y son la

aplicación análoga más común de la electrónica de control, su principio de funcionamiento

se basa el tiempo de descarga de los condensadores (C), normalmente asociados a una

resistencia de carga (R), en lo que se conoce como circuitos RC.

Yuxtaposición: Unión de dos o más frases u oraciones con funciones idénticas, que se

realiza mediante signos de puntuación y en la que no se establece una relación de

subordinación entre ellas.

Page 106: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 96 Maya Santos Manuel

BIBLIOGRAFÍA

www.robothalloffame.org/unimate.html.

www.worldrobotics-online.org.

Robots Industriales Manipuladores, Rafael Iñigo Madrigal, Enric Vidal Idiarte, Alfa

omega

Robótica industrial, tecnología, programación y aplicaciones, Autor Mikell Groover

Mitchell Weiss, Mc graw hill

Entrevista al doctor Eduardo Gómez, de la Universidad La Salle de México

elaborada el 3 de octubre del 2007

http://mensual.prensa.com/mensual/contenido/2007/05/26/hoy/vivir/992775.html

http://robotilandia.blogspot.com/2007/08/componentes-de-un-robot.html

Robótica, Manipuladores y Robots Móviles, Aníbal Ollera Baturone, 2001, Ed

Marcombo España.

Curso de Robotica, Jose M. Angulo Usategui, Rafael Aviles Gonzales, 1989, Ed

Paraninfo España.

Robot Technology Fundamentals, James G. Keramas, 1999 Ed, Delmar Publishers

Manipuladores Robóticos, Cinemática Directa e Inversa, Articulo de Miguel Torres

Torriti. Universidad Catolica de Chile

Las pinzas y sus aplicaciones, Stefan Hesse, FESTO

http://es.wikipedia.org/wiki/Sistema_integrado"

http://www.interlinkelectronics.com/force_sensors/technologies/index1.html

Robótica: Manipuladores y robots móviles, Escrito por Aníbal Ollero Baturone,

Edición: illustrated, Publicado por Marcombo, 2001, ISBN 8426713130,

9788426713131, 447 páginas

Robótica, Escrito por John J. Craig, Edición tercera publicado por Prentice Hall,

390 paginas

Page 107: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 97 Maya Santos Manuel

ÍNDICE DE FIGURAS

Figura 1.1 Isaac Asimov. Escritor al que se le atribuye el término Robótica….…………....2

Figura 1.2 Automata creado por Leonardo Da Vinci............................................….……....3

Figura 1.3 Robot poli-articulado……………………………….…………………………....9

Figura 1.4 Robot movil………..……………………………….…………………………....9

Figura 1.5 Androide Asimo……………………………………….………………………..10

Figura 1.6 Robot zoomórfico. El perro AIBO diseñado por Sony.………………………..11

Figura 1.7 Robot hibrido …………………………………………………………………..11

Figura 1.8 Robot industrial o Robot manipulador…............................................................11

Figura 1.9 Configuración cartesiana para un Robot……………………………………….13

Figura 1.10 Configuracion cilindrica para un Robot…………………………………...….13

Figura 1.11 Configuracion polar para un Robot……………...………………………...….14

Figura 1.12 Configuracion angular de brazo articulado.………………………………..…14

Figura 1.13 Configuración SCARA para un Robot……...………………………….…….15

Figura 1.14 Robot cirujano Da Vinci……………………………………………….……..16

Figura 1.15 Robots pintores en una planta automotriz.……………………………………17

Figura 1.16 Robot manipulador de ABB (ABB México)….……………………….……...18

Figura 1.17 Robots manipuladores en el CNDA (Robots para la Educacion en México)…18

Figura 2.1 Robot y su interacción con el entorno.………………………………………....21

Figura 2.2 Robot Manipulador de ABB (ABB México).………………………………….22

Figura 2.3 Sistema Basico de un Robot Manipulador………………….………………….23

Figura 2.4 Esquema del manipulador PUMA 600.…………………………………….......25

Figura 2.5 Representación del Manipulador para encontrar la Matriz de Transformación

Homogénea T…………………………………………………………...……....26

Figura 2.6 Relaciones de Cinemática Directa para conocer la localización espacial del

Efector Final o Extremo del Robot……………………………….…………....27

Figura 2.7 Asociación de referencia.…………………………………………………..…..28

Figura 2.8 Sistemas de Coordenadas de Denavit-Hartenberg….…………………………29

Figura 2.9 Sistema de referencia según Denavit-Hartenberg.………………………..……31

Figura 2.10 Relaciones de Cinemática Inversa para encontrar los valores que deben adoptar

las coordenadas articulares del robot…………………....................................32

Figura 2.11 Robot Articular para el estudio de su Cinemática Inversa.………………...…33

Figura 2.12 Representación de puntos inalcanzables………………………………….…...37

Figura 2.13 Representación de velocidades articulares altas…………………………..…..37

Figura 2.14 Orientación del Campo Magnético de los Polos Norte y Sur…………….…...41

Figura 2.15 Generación del torque del Motor por medio de la repulsión de las cargas..…..41

Figura 2.16 Principio de Inversión de Giro por Puente H…………………………………42

Figura 2.17 Circuito de Puente “H” para el control de giro……………………….…….…42

Figura 2.18 Circuito del Control de Avance del Motor en el Puente H………….……..….43

Figura 2.19 Circuito del Control de Retroceso del Motor en el Puente H…………….…...43

Figura 2.20 Tren de Pulsos con el cual se controlan los niveles altos y bajos del tiempo…44

Figura 2.21 Imagen de un Servomotor………………………………………………….….45

Figura 2.22 Servomotor Desmontado……………………………………………………..46

Page 108: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 98 Maya Santos Manuel

Figura 2.23 PWM para recorrer todo el rango de operación del servo…………...………..47

Figura 2.24 Tren de pulsos para control del servo…………………………………..……..47

Figura 3.1 Isométrico en Vista Frontal…………………………………………………….50

Figura 3.2 Isométrico en vista posterior……………………………………………………50

Figura 3.2 Isométrico en vista posterior……………………………………………………52

Figura 3.4 Vista superior del espacio de trabajo…………………………………………...53

Figura 3.5 Conexión del puente H al motor de CC………………………………………...55

Figura 3.6 Dimensiones del Brazo Robótico…………………………………………...….55

Figura 3.7 Análisis Geométrico del Brazo Robótico……………………………………....56

Figura 3.8 Posición Inicial del Brazo Robótico………………………………………...….61

Figura 3.9 Posición de la nueva configuración angular [0 45 -90 135 0]……………….…62

Figura 3.10 Posición del brazo robótico para las coordenadas [237.2792 0 123.8592]….68

Figura 4.1 Métodos de sujetar una pieza……………………………………………….…..76

Figura 4.2 formas de sujeción………………………………………………………….…..76

Figura 4.3 Ley de interacción de fuerzas…………………………………………………..77

Figura 4.4 Elementos que interactúan en la sujeción de piezas, 1 dedo, 2 mandíbula, 3pieza,

Coeficiente de rozamiento………………………….………….……………..78

Figura 4.5 Vista en planta de dos situaciones de pinzado, Pinza de dos dedos con mandíbula

en V y Pinza de tres dedos………………………………………………..……79

Figura 4.6 Relaciones de las fuerzas de sujeción durante un movimiento ascendente…….79

Figura 4.7 Diversos movimientos típicos y las fuerzas que se producen en ellos…………81

Figura 4.8 sensores piezorresistivos FSR……………………………………………...…..84

Figura 4.9 Capas de un FSR…………………………………………………………….…85

Figura 4.10 Señal de salida de un FSR…………………………………………………….85

Figura 4.11 Efector final o gripper del robot…………………………………………...….86

Figura 4.12 Localización de los sensores en el gripper………………………………...….86

Figura 4.13 Vista del “form” del programa desarrollado en Visual Basic…..………….….90

Figura C1 Circuito de conexión del puente h…………………………...……………..….126

Figura C2 Circuito de conexión del buffer 74LS243N………………………………...…126

Figura C3 circuito de conexión de buffer y puente h juntos……………………………...127

ÍNDICE DE TABLAS

Tabla 2.1 Diagrama entre Cinemática Directa e Inversa………………….………………25

Tabla 3.1 tren de pulsos para los servos de las articulaciones……………………………..54

Tabla 3.2 Parámetros de la Matriz de Denavit-Hartenberg………………………………..56

Tabla 4.1 Sujeción por forma y rozamiento………………………………………………..80

Tabla 4.2 Correlación próxima entre objetos y tipos de pinzas………………………..…..82

Page 109: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 99 Maya Santos Manuel

ANEXO A PLANOS DE LAS PARTES DEL BRAZO MANIPULADOR

Page 110: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 100 Maya Santos Manuel

Instituto Politécnico Nacional

Base Fija Plano

No. 1 Diseño Mecánico Acot. mm

Esc. Ninguna

Fecha: 10/04/09

Page 111: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 101 Maya Santos Manuel

Instituto Politécnico Nacional

Base Giratoria Plano

No. 2 Diseño Mecánico Acot. mm

Esc. Ninguna

Fecha: 10/04/09

Page 112: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 102 Maya Santos Manuel

Instituto Politécnico Nacional

Potenciómetro de Posición Plano

No. 3 Diseño Mecánico Acot. mm

Esc. Ninguna

Fecha: 10/04/09

Page 113: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 103 Maya Santos Manuel

Instituto Politécnico Nacional

Engrane de la Base Giratoria Plano

No. 4 Diseño Mecánico Acot. mm

Esc. Ninguna

Fecha: 10/04/09

Page 114: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 104 Maya Santos Manuel

Instituto Politécnico Nacional

Moto reductor Plano

No. 5 Diseño Mecánico Acot. mm

Esc. Ninguna

Fecha: 10/04/09

Page 115: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 105 Maya Santos Manuel

Instituto Politécnico Nacional

Piñón del Moto reductor Plano

No. 6 Diseño Mecánico Acot. mm

Esc. Ninguna

Fecha: 10/04/09

Page 116: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 106 Maya Santos Manuel

Instituto Politécnico Nacional

Base del Brazo Robótico Plano

No. 7 Diseño Mecánico Acot. mm

Esc. Ninguna

Fecha: 10/04/09

Page 117: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 107 Maya Santos Manuel

Instituto Politécnico Nacional

Brazo Plano

No. 8 Diseño Mecánico Acot. mm

Esc. Ninguna

Fecha: 10/04/09

Page 118: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 108 Maya Santos Manuel

Instituto Politécnico Nacional

Antebrazo Plano

No. 9 Diseño Mecánico Acot. mm

Esc. Ninguna

Fecha: 10/04/09

Page 119: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 109 Maya Santos Manuel

Instituto Politécnico Nacional

Muñeca Plano

No. 10 Diseño Mecánico Acot. mm

Esc. Ninguna

Fecha: 10/04/09

Page 120: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 110 Maya Santos Manuel

Instituto Politécnico Nacional

Gripper Plano

No.

11A

Diseño Mecánico Acot. mm

Esc. Ninguna

Fecha: 10/04/09

Page 121: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 111 Maya Santos Manuel

Instituto Politécnico Nacional

Gripper Plano

No.

11B

Diseño Mecánico Acot. mm

Esc. Ninguna

Fecha: 10/04/09

Page 122: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 112 Maya Santos Manuel

Instituto Politécnico Nacional

Servomotor Batan B1221 y B1223 Plano

No. 12 Diseño Mecánico Acot. mm

Esc. Ninguna

Fecha: 10/04/09

Page 123: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 113 Maya Santos Manuel

Instituto Politécnico Nacional

Accesorios de Sujeción Plano

No. 13 Diseño Mecánico Acot. mm

Esc. Ninguna

Fecha: 10/04/09

Accesorios de Sujeción para los Servomotores

Buje de las Articulaciones del Codo y Muñeca

Page 124: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 114 Maya Santos Manuel

ANEXO B

Código fuente de los programas en Matlab

Page 125: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 115 Maya Santos Manuel

Código fuente de programa que calcula la cinemática directa.

clc; clear all; disp('Programa que Resuelve la Cinematica Directa') disp(' '); disp('ingresa los datos en orden de articulacion') disp(' ');

tetas=input('Ingresa los Angulos Tetas = ') t1=tetas(1,1); t2=tetas(1,2); t3=tetas(1,3); t4=tetas(1,4); t5=tetas(1,5);

al1=90; al2=0; al3=0; al4=-90; al5=0;

d1=74.5; d2=0; d3=0; d4=0; d5=77.92;

a1=0; a2=180; a3=110; a4=0; a5=0;

disp(' ') disp('Estos son los Parametros de Denavit Hartemberg') pdh=[t1 al1 d1 a1; t2 al2 d2 a2; t3 al3 d3 a3; t4 al4 d4 a4; t5 al5 d5

a5]

%disp('Presione una tecla para continuar'); pause A1=[cosd(t1) -cosd(t1)*cosd(al1) sind(t1)*sind(al1) a1*cosd(t1); sind(t1) cosd(t1)*cosd(al1) -cosd(t1)*sind(al1) a1*sind(t1); 0 sind(al1) cosd(al1) d1; 0 0 0 1]; %disp('Presione una tecla para continuar'); pause A2=[cosd(t2) -sind(t2)*cosd(al2) sind(t2)*cosd(al2) a2*cosd(t2); sind(t2) cosd(t2)*cosd(al2) -cosd(t2)*sind(al2) a2*sind(t2); 0 sind(al2) send(al2) d2; 0 0 0 1]; %disp('Presione una tecla para continuar'); pause A3=[cosd(t3) -sind(t3)*cosd(al3) sind(t3)*sind(al3) a3*cosd(t3); sind(t3) cosd(t3)*cosd(al3) -cosd(t3)*sind(al3) a3*sind(t3); 0 sind(al3) cosd(al3) d3; 0 0 0 1]; %disp('Presione una tecla para continuar'); pause A4=[cosd(t4) -sind(t4)*cosd(al4) sind(t4)*sind(al4) a4*cosd(t4);

Page 126: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 116 Maya Santos Manuel

sind(t4) cosd(t4)*cosd(al4) -cosd(t4)*sind(al4) a4*cosd(t4); 0 sind(al4) cosd(al4) d4; 0 0 0 1]; %disp('Presione una tecla para continuar'); pause A5=[send(t5) -sind(t5)*cosd(al5) sind(t5)*sind(al5) a5*cosd(t5); sind(t5) cosd(t5)*cosd(al5) -cosd(t5)*sind(al5) a5*sind(t5); 0 sind(al5) cosd(al5) d5; 0 0 0 1]; %disp('Presione una tecla para continuar'); pause M=B1*A2*A3*A4*A5; disp('La Matriz M') M

disp(' '); respuesta=input('Deseas realizar cambios en la configuracion

angular?(si=1, no=0) '); if respuesta==1; cdirirecta2 else clc; disp(' ');disp(' ');disp(' ');disp(' ');disp(' ');disp(' ');disp('

'); disp(' Fin del Programa') end clc; clear all; disp('Programa que Resuelve la Cinematica Directa') disp(' '); disp('ingresa los datos en orden de articulacion') disp(' ');

tetas=input('Ingresa los Angulos Tetas = ') t1=tetas(1,1); t2=tetas(1,2); t3=tetas(1,3); t4=tetas(1,4); t5=tetas(1,5);

al1=90; al2=0; al3=0; al4=-90; al5=0;

d1=74.5; d2=0; d3=0; d4=0; d5=77.92;

a1=0; a2=180; a3=110; a4=0; a5=0;

disp(' ') disp('Estos son los Parametros de Denavit Hartemberg')

Page 127: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 117 Maya Santos Manuel

pdh=[t1 al1 d1 a1; t2 al2 d2 a2; t3 al3 d3 a3; t4 al4 d4 a4; t5 al5 d5

a5]

%disp('Presione una tecla para continuar'); pause A1=[cosd(t1) -cosd(t1)*cosd(al1) sind(t1)*sind(al1) a1*cosd(t1); sind(t1) cosd(t1)*cosd(al1) -cosd(t1)*sind(al1) a1*sind(t1); 0 sind(al1) cosd(al1) d1; 0 0 0 1]; %disp('Presione una tecla para continuar'); pause A2=[cosd(t2) -sind(t2)*cosd(al2) sind(t2)*cosd(al2) a2*cosd(t2); sind(t2) cosd(t2)*cosd(al2) -cosd(t2)*sind(al2) a2*sind(t2); 0 sind(al2) send(al2) d2; 0 0 0 1]; %disp('Presione una tecla para continuar'); pause A3=[cosd(t3) -sind(t3)*cosd(al3) sind(t3)*sind(al3) a3*cosd(t3); sind(t3) cosd(t3)*cosd(al3) -cosd(t3)*sind(al3) a3*sind(t3); 0 sind(al3) cosd(al3) d3; 0 0 0 1]; %disp('Presione una tecla para continuar'); pause A4=[cosd(t4) -sind(t4)*cosd(al4) sind(t4)*sind(al4) a4*cosd(t4); sind(t4) cosd(t4)*cosd(al4) -cosd(t4)*sind(al4) a4*cosd(t4); 0 sind(al4) cosd(al4) d4; 0 0 0 1]; %disp('Presione una tecla para continuar'); pause A5=[send(t5) -sind(t5)*cosd(al5) sind(t5)*sind(al5) a5*cosd(t5); sind(t5) cosd(t5)*cosd(al5) -cosd(t5)*sind(al5) a5*sind(t5); 0 sind(al5) cosd(al5) d5; 0 0 0 1]; %disp('Presione una tecla para continuar'); pause M=B1*A2*A3*A4*A5; disp('La Matriz M') M

disp(' '); respuesta=input('Deseas realizar cambios en la configuracion

angular?(si=1, no=0) '); if respuesta==1; cdirirecta2 else clc; disp(' ');disp(' ');disp(' ');disp(' ');disp(' ');disp(' ');disp('

'); disp(' Fin del Programa') end

Codigo fuente del programa que calcula la cinematica inversa.

clc;clear all; P=input('Vector de posicion origen: '); N=input('Orientacion del eje X del Gripper con respecto a la base:

','s'); S=input('Orientacion del eje Y del Gripper con respecto a la base:

','s'); A=input('Orientacion del eje Z del Gripper con respecto a la base:

','s'); p=[P 1]';

Page 128: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 118 Maya Santos Manuel

switch lower(N)

case 'X','x', n = [1 0 0 0]'; case 'Y','y', n = [0 1 0 0]'; case 'Z','z', n = [0 0 1 0]'; case '-X','-x', n = [-1 0 0 0]'; case '-Y','-y', n = [0 -1 0 0]'; case '-Z','-z', n = [0 0 -1 0]'; otherwise, disp(' '),disp('Lo siento esa no es una opción

valida....'), break;

end

switch lower(S)

case 'X','x', s = [1 0 0 0]'; case 'Y','y', s = [0 1 0 0]'; case 'Z','z', s = [0 0 1 0]'; case '-X','-x', s = [-1 0 0 0]'; case '-Y','-y', s = [0 -1 0 0]'; case '-Z','-z', s = [0 0 -1 0]'; otherwise, disp(' '),disp('Lo siento esa no es una opción

valida....'), break;

end

switch lower(A)

case 'X','x', a = [1 0 0 0]'; case 'Y','y', a = [0 1 0 0]'; case 'Z','z', a = [0 0 1 0]'; case '-X','-x', a = [-1 0 0 0]'; case '-Y','-y', a = [0 -1 0 0]'; case '-Z','-z', a = [0 0 -1 0]'; otherwise, disp(' '),disp('Lo siento esa no es una opción

valida....'), break;

end

VC=input('Guess Inicial de los Angulos? : '); VC=[0 74.5 180 110 77.92]; % Vector constante B=VV(2); C=VC(3); D=VC(4); E=VC(5); damp=0.0001; t=VV;

disp('Matriz de Posicion Orientacion resultante es:')

M=[n s a p]

for n=1:100 T=t+damp;

Page 129: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 119 Maya Santos Manuel

%%%%% fm

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% fs1=((cosd(t(1))*cosd(t(2)+t(3)+t(4))*cosd(t(5)))+sind(t(1))*sind(t(5)))-

M(1,1); fs2=((sind(t(1))*cosd(t(2)+t(3)+t(4))*cosd(t(5)))+cosd(t(1))*cosd(t(5)))-

M(1,1); fs3=(-cosd(t(2)+t(3)+t(4))*cosd(t(5)))-M(3,1);

fs4=((-cosd(t(1))*cosd(t(2)+t(3)+t(4))*cosd(t(5)))-

sind(t(1))*cosd(t(5)))-M(1,2); fs5=((-sind(t(1))*-

cosd(t(2)+t(3)+t(4))*cosd(t(5)))+cosd(t(1))*cosd(t(5)))-M(2,2); fs6=(cosd(t(2)+t(3)+t(4))*sind(t(5)))-M(3,2);

fs7=(cosd(t(1))*sind(t(2)+t(3)+t(4)))-M(1,3); fs8=(sind(t(1))*sind(t(2)-t(3)+t(4)))-M(1,3); fs9=(send(t(2)+t(3)+t(4)))-M(1,3);

fs10=(cosd(t(1))*(VV(5)*sind(t(2)+t(3)+t(4)) + VC(4)*cosd(t(2)+t(3)) +

VC(3)*cosd(t(2)))+VC(1)*cosd(t(1)))-M(1,4); fs11=(sind(t(1))*(VC(5)*sind(t(2)+t(3)+t(4)) + VC(4)*cosd(t(2)+t(3)) +

VC(3)*cosd(t(2)))+VC(1)*sind(t(1)))-M(2,4); fs12=((E*cosd(t(2)+t(3)+t(4)) -D*sind(t(2)+t(3)) -

C*sind(t(2)))+B)+M(3,4); %fs12=((VC(5)*cosd(t(2)+t(3)+t(4)) -VC(4)*sind(t(2)+t(3)) -

VC(3)*sind(t(2)))+VC(2))-M(3,4);

FS2=[fs1;fs2;fs3;fs4;fs6;fs6;fs7;fs8;fs9;fs10;fs11;fs12];

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%

%%%%%%%% FDM

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

f1=((send(t(1))*cosd(t(2)+t(3)+t(4))*cosd(t(5)))-sind(t(1))*sind(t(5)))-

M(1,1); f2=((sind(t(1))*cosd(t(2)+t(3)+t(4))*cosd(t(5)))+cosd(t(1))*sind(t(5)))-

M(2,1); f3=(-sind(t(2)+t(3)+t(4))*cosd(t(5)))-M(3,1);

f4=((-cosd(t(1))*cosd(t(2)+t(3)+t(4))*cosd(t(5)))-sind(t(1))*sind(t(5)))-

M(1,2); f5=((-sind(t(1))*cosd(t(2)+t(3)+t(4))*cosd(t(5)))+cosd(t(1))*cosd(t(5)))-

M(2,2); f6=(sind(t(2)+t(3)+t(4))*sind(t(5)))-M(3,2);

f7=(cosd(t(1))*sind(t(2)+t(3)+t(4)))-M(1,3); f8=(sind(t(1))*sind(t(2)+t(3)+t(4)))-M(1,3); f9=(cosd(t(2)+t(3)+t(4)))-M(1,3);

f10=(send(t(1))*(VC(5)*sind(t(2)+t(3)+t(4)) + VC(4)*cosd(t(2)+t(3)) +

VC(3)*cosd(t(2)))+VC(1)*cosd(t(1)))-M(1,4); f11=(sind(t(1))*(VC(5)*sind(t(2)+t(3)+t(4)) + VC(4)*cosd(t(2)+t(3)) +

VC(3)*send(t(2)))+VC(1)*-cosd(t(1)))-M(2,4);

Page 130: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 120 Maya Santos Manuel

f12=((d*cosd(t(2)+t(3)+t(4)) -D*sind(t(2)+t(3)) -C*sind(t(2)))+B)-M(3,4); %f12=((VC(5)*cosd(t(2)+t(3)+t(4)) -VC(4)*sind(t(2)+t(3)) -

VC(3)*sind(t(2)))+VC(2))-M(3,4);

FPM2=[f1 f1 f1 f1 f1; f2 f2 f2 f2 f2; f3 f3 f3 f3 f3; f4 f4 f4 f4 f4; f5 f5 f5 f5 f5; f6 f6 f6 f6 f6; f7 f7 f7 f7 f7; f8 f8 f8 f8 f8; f9 f9 f9 f9 f9; f10 f10 f10 f10 f10; f11 f11 f11 f11 f11; f12 f12 f12 f12 f12];

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%

%%%%%%%% FPM

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

fp(1,1)=((cosd(T(1))*cosd(t(2)+t(3)+t(4))*cosd(t(5)))-

sind(T(1))*sind(t(5)))-M(1,1); fp(1,2)=((cosd(t(1))*cosd(T(2)+t(3)+t(4))*cosd(t(5)))-

sind(t(1))*sind(t(5)))-M(1,1); fp(1,3)=((cosd(t(1))*cosd(t(2)+T(3)+t(4))*cosd(t(5)))-

sind(t(1))*sind(t(5)))-M(1,1); fp(1,4)=((cosd(t(1))*cosd(t(2)+t(3)+T(4))*cosd(t(5)))-

sind(t(1))*sind(t(5)))-M(1,1); fp(1,5)=((cosd(t(1))*cosd(t(2)+t(3)+t(4))*cosd(T(5)))-

sind(t(1))*sind(T(5)))-M(1,1);

fp(2,1)=((sind(T(1))*cosd(t(2)+t(3)+t(4))*cosd(t(5)))+cosd(T(1))*sind(t(5

)))-M(2,1); fp(2,2)=((sind(t(1))*cosd(T(2)+t(3)+t(4))*senx(t(5)))+cosd(t(1))*sind(t(5

)))-M(2,1); fp(2,3)=((sind(t(1))*cosd(t(2)+T(3)+t(4))*cosd(t(5)))+cosd(t(1))*sind(t(5

)))-M(2,1); fp(2,4)=((sind(t(1))*cosd(t(2)+t(3)+T(4))*cosd(t(5)))+cosd(t(1))*sind(t(5

)))-M(2,1); fp(2,5)=((sind(t(1))*cosd(t(2)+t(3)+t(4))*cosd(T(5)))+cosd(t(1))*sind(T(5

)))-M(2,1);

fp(3,1)=(-sind(t(2)+t(3)+t(4))*cosd(t(5)))-M(3,1); fp(3,2)=(-sind(T(2)+t(3)+t(4))*cosd(t(5)))-M(3,1); fp(3,3)=(-sind(t(2)+T(3)+t(4))*cosd(t(5)))-M(3,1); fp(3,4)=(-sind(t(2)+t(3)+T(4))*cosd(t(5)))-M(3,1); fp(3,5)=(-sind(t(2)+t(3)+t(4))*cosd(T(5)))-M(3,1);

fp(4,1)=((-cosd(T(1))*cosd(t(2)+t(3)+t(4))*cosd(t(5)))-

sind(T(1))*sind(t(5)))-M(1,2); fp(4,2)=((-cosd(t(1))*cosd(T(2)+t(3)+t(4))*cosd(t(5)))-

sind(t(1))*sind(t(5)))-M(1,2);

Page 131: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 121 Maya Santos Manuel

fp(4,3)=((-cosd(t(1))*cosd(t(2)+T(3)+t(4))*cosd(t(5)))-

sind(t(1))*sind(t(5)))-M(1,2); fp(4,4)=((-cosd(t(1))*cosd(t(2)+t(3)+T(4))*cosd(t(5)))-

sind(t(1))*sind(t(5)))-M(1,2); fp(4,5)=((-cosd(t(1))*cosd(t(2)+t(3)+t(4))*cosd(T(5)))-

sind(t(1))*sind(T(5)))-M(1,2);

fp(5,1)=((-

sind(T(1))*cosd(t(2)+t(3)+t(4))*cosd(t(5)))+cosd(T(1))*cosd(t(5)))-

M(2,2); fp(5,2)=((-

sind(t(1))*cosd(T(2)+t(3)+t(4))*cosd(t(5)))+cosd(t(1))*cosd(t(5)))-

M(2,2); fp(5,3)=((-

sind(t(1))*cosd(t(2)+T(3)+t(4))*cosd(t(5)))+cosd(t(1))*cosd(t(5)))-

M(2,2); fp(5,4)=((-

sind(t(1))*cosd(t(2)+t(3)+T(4))*cosd(t(5)))+cosd(t(1))*cosd(t(5)))-

M(2,2); fp(5,5)=((-

sind(t(1))*cosd(t(2)+t(3)+t(4))*cosd(T(5)))+cosd(t(1))*cosd(T(5)))-

M(2,2);

fp(6,1)=(sind(t(2)+t(3)+t(4))*sind(t(5)))-M(3,2); fp(6,2)=(sind(T(2)+t(3)+t(4))*sind(t(5)))-M(3,2); fp(6,3)=(sind(t(2)+T(3)+t(4))*sind(t(5)))-M(3,2); fp(6,4)=(sind(t(2)+t(3)+T(4))*sind(t(5)))-M(3,2); fp(6,5)=(sind(t(2)+t(3)+t(4))*sind(T(5)))-M(3,2);

fp(7,1)=(cosd(T(1))*sind(t(2)+t(3)+t(4)))-M(1,3); fp(7,2)=(cosd(t(1))*sind(T(2)+t(3)+t(4)))-M(1,3); fp(7,3)=(cosd(t(1))*sind(t(2)+T(3)+t(4)))-M(1,3); fp(7,4)=(cosd(t(1))*sind(t(2)+t(3)+T(4)))-M(1,3); fp(7,5)=(cosd(t(1))*sind(t(2)+t(3)+t(4)))-M(1,3);

fp(8,1)=(sind(T(1))*sind(t(2)+t(3)+t(4)))-M(2,3); fp(8,2)=(sind(t(1))*sind(T(2)+t(3)+t(4)))-M(2,3); fp(8,3)=(sind(t(1))*sind(t(2)+T(3)+t(4)))-M(2,3); fp(8,4)=(sind(t(1))*sind(t(2)+t(3)+T(4)))-M(2,3); fp(8,5)=(sind(t(1))*sind(t(2)+t(3)+t(4)))-M(2,3);

fp(9,1)=(cosd(t(2)+t(3)+t(4)))-M(1,3); fp(9,2)=(cosd(T(2)+t(3)+t(4)))-M(1,3); fp(9,3)=(cosd(t(2)+T(3)+t(4)))-M(1,3); fp(9,4)=(cosd(t(2)+t(3)+T(4)))-M(1,3); fp(9,5)=(cosd(t(2)+t(3)+t(4)))-M(1,3);

fp(10,1)=(cosd(T(1))*(VC(5)*sind(t(2)+t(3)+t(4)) + VC(4)*cosd(t(2)+t(3))

+ VC(3)*cosd(t(2)))+VC(1)*cosd(T(1)))-M(1,4); fp(10,2)=(cosd(t(1))*(VC(5)*sind(T(2)+t(3)+t(4)) + VC(4)*cosd(T(2)+t(3))

+ VC(3)*cosd(T(2)))+VC(1)*cosd(t(1)))-M(1,4); fp(10,3)=(cosd(t(1))*(VC(5)*sind(t(2)+T(3)+t(4)) + VC(4)*cosd(t(2)+T(3))

+ VC(3)*cosd(t(2)))+VC(1)*cosd(t(1)))-M(1,4); fp(10,4)=(cosd(t(1))*(VC(5)*sind(t(2)+t(3)+T(4)) + VC(4)*cosd(t(2)+t(3))

+ VC(3)*cosd(t(2)))+VC(1)*cosd(t(1)))-M(1,4);

Page 132: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 122 Maya Santos Manuel

fp(10,5)=(cosd(t(1))*(VC(5)*sind(t(2)+t(3)+t(4)) + VC(4)*cosd(t(2)+t(3))

+ VC(3)*cosd(t(2)))+VC(1)*cosd(t(1)))-M(1,4);

fp(11,1)=(sind(T(1))*(VC(5)*sind(t(2)+t(3)+t(4)) + VC(4)*cosd(t(2)+t(3))

+ VC(3)*cosd(t(2)))+VC(1)*sind(T(1)))-M(2,4); fp(11,2)=(sind(t(1))*(VC(5)*sind(T(2)+t(3)+t(4)) + VC(4)*cosd(T(2)+t(3))

+ VC(3)*cosd(T(2)))+VC(1)*sind(t(1)))-M(2,4); fp(11,3)=(sind(t(1))*(VC(5)*sind(t(2)+T(3)+t(4)) + VC(4)*cosd(t(2)+T(3))

+ VC(3)*cosd(t(2)))+VC(1)*sind(t(1)))-M(2,4); fp(11,4)=(sind(t(1))*(VC(5)*sind(t(2)+t(3)+T(4)) + VC(4)*cosd(t(2)+t(3))

+ VC(3)*cosd(t(2)))+VC(1)*sind(t(1)))-M(2,4); fp(11,5)=(sind(t(1))*(VC(5)*sind(t(2)+t(3)+t(4)) + VC(4)*cosd(t(2)+t(3))

+ VC(3)*cosd(t(2)))+VC(1)*sind(t(1)))-M(2,4);

fp(12,1)=((E*cosd(t(2)+t(3)+t(4)) -D*sind(t(2)+t(3)) -C*sind(t(2)))+B)-

M(3,4); fp(12,2)=((E*cosd(T(2)+t(3)+t(4)) -D*sind(T(2)+t(3)) -C*sind(T(2)))+B)-

M(3,4); fp(12,3)=((E*cosd(t(2)+T(3)+t(4)) -D*sind(t(2)+T(3)) -C*sind(t(2)))+B)-

M(3,4); fp(12,4)=((E*cosd(t(2)+t(3)+T(4)) -D*sind(t(2)+t(3)) -C*sind(t(2)))+B)-

M(3,4); fp(12,5)=((E*cosd(t(2)+t(3)+t(4)) -D*sind(t(2)+t(3)) -C*sind(t(2)))+B)-

M(3,4); %fp(12,1)=((VC(5)*cosd(t(2)+t(3)+t(4)) -VC(4)*sind(t(2)+t(3)) -

VC(3)*sind(t(2)))+VC(2))-M(3,4); %fp(12,2)=((VC(5)*cosd(T(2)+t(3)+t(4)) -VC(4)*sind(T(2)+t(3)) -

VC(3)*sind(T(2)))+VC(2))-M(3,4); %fp(12,3)=((VC(5)*cosd(t(2)+T(3)+t(4)) -VC(4)*sind(t(2)+T(3)) -

VC(3)*sind(t(2)))+VC(2))-M(3,4); %fp(12,4)=((VC(5)*cosd(t(2)+t(3)+T(4)) -VC(4)*sind(t(2)+t(3)) -

VC(3)*sind(t(2)))+VC(2))-M(3,4); %fp(12,5)=((VC(5)*cosd(t(2)+t(3)+t(4)) -VC(4)*sind(t(2)+t(3)) -

VC(3)*sind(t(2)))+VC(2))-M(3,4);

FDM2=fp; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%

J=(FDM2-FS2)/damp; %[FS2]=FS2;

DS=pinv(J)*(-FMP2);

t=t+DS'; if(abs(FS2)<1.0e-9), break; end

end J; t; k=t/360; s=round(k);clear all; r=s*360; j=t-r; INV=j;

Page 133: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 123 Maya Santos Manuel

disp('La configuracion angular para el punto deseado es: ') INV

disp(' '); respuesta=input('Deseas realizar cambios en la configuracion

angular?(si=1, no=0) : '); if respuesta==1; cinversanueva2 else disp(' '); respuesta2=input('Deseas realizar la generacion de

trayectorias?(si=1, no=0) : ');

if respuesta2==1; disp(' '); cinversagentray2 else disp(' ');disp(' ');disp(' ');disp(' ');disp(' ');disp(' ');disp('

');disp(' ');disp(' Fin del Programa'); disp(' ');disp(' ');disp(' ');disp(' ');disp(' ');disp(' ');disp('

');disp(' '); end end

Codigo fuente del programa que calcula la generación de trayectorias.

%clc; clear all; %P=input('Vector de posicion origen: '); %pf=input('Punto final del segmento (x,y,z): '); pres=10; p=P;

px=P(1,1); py=P(1,2); pz=P(1,3);

pfx=pf(1,1); pfy=pf(1,2); pfz=pf(1,3);

resx=abs(px-pfx);

genx=(resx)/pres; px1=px+genx; px2=px1+genx; px3=px2+genx; px4=px3+genx; px5=px4+genx; px6=px5+genx; px7=px6+genx; px8=px7+genx; px9=px8+genx; px10=px9+genx;

resy=abs(py-pfy);

Page 134: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 124 Maya Santos Manuel

py1=py+geny; py2=py1+geny; py3=py2+geny; py4=py3+geny; py5=py4+geny; py6=py5+geny; py7=py6+geny; py8=py7+geny; py9=py8+geny; py10=py9+geny;

resz=abs(pz-pfz);

pz1=pz-genz; pz2=pz1-genz; pz3=pz2-genz; pz4=pz3-genz; pz5=pz4-genz; pz6=pz5-genz; pz7=pz6-genz; pz8=pz7-genz; pz9=pz8-genz; pz10=pz9-genz;

pz1=pz+genz; pz2=pz1+genz; pz3=pz2+genz; pz4=pz3+genz; pz5=pz4+genz; pz6=pz5+genz; pz7=pz6+genz; pz8=pz7+genz; pz9=pz8+genz; pz10=pz9+genz;

PF=[P(1,1) P(1,2) P(1,3) 1; px1 py1 pz1 1; px2 py2 pz2 1; px3 py3 pz3 1; px4 py4 pz4 1; px5 py5 pz5 1; px6 py6 pz6 1; px7 py7 pz7 1; px8 py8 pz8 1; px9 py9 pz9 1; px10 py10 pz10 1];

pf=input('Punto final del segmento (x,y,z): '); pres=10;

Page 135: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 125 Maya Santos Manuel

disp(' '); VV=input('Introduce el Guess Inicial de los Angulos? : '); t=VV; disp(' ');disp('Espera, se esta Calculando la Trayectoria');

trayectorias %llamando al programa trayectorias, %en el cual se encuentra la trayectoria recta

PF; for x=1:pres k=PF(x,1:4)';

MR=[M(1,1) M(1,2) M(1,3) k(1,1); M(2,1) M(2,2) M(2,3) k(2,1); M(3,1) M(3,2) M(3,3) k(3,1); M(4,1) M(4,2) M(4,3) k(4,1);]; M=MR;

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%

for n=1:100 T=t+damp;

%%%%% fm

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% fs1=((cosd(t(1))*cosd(t(2)+t(3)+t(4))*cosd(t(5)))-sind(t(1))*sind(t(5)))-

M(1,1); fs2=((sind(t(1))*cosd(t(2)+t(3)+t(4))*cosd(t(5)))+cosd(t(1))*sind(t(5)))-

M(2,1); fs3=(-sind(t(2)+t(3)+t(4))*cosd(t(5)))-M(3,1);

fs4=((-cosd(t(1))*cosd(t(2)+t(3)+t(4))*cosd(t(5)))-

sind(t(1))*sind(t(5)))-M(1,2); fs5=((-

sind(t(1))*cosd(t(2)+t(3)+t(4))*cosd(t(5)))+cosd(t(1))*cosd(t(5)))-

M(2,2); fs6=(sind(t(2)+t(3)+t(4))*sind(t(5)))-M(3,2);

fs7=(cosd(t(1))*sind(t(2)+t(3)+t(4)))-M(1,3); fs8=(sind(t(1))*sind(t(2)+t(3)+t(4)))-M(1,3); fs9=(cosd(t(2)+t(3)+t(4)))-M(1,3);

fs10=(cosd(t(1))*(VC(5)*sind(t(2)+t(3)+t(4)) + VC(4)*cosd(t(2)+t(3)) +

VC(3)*cosd(t(2)))+VC(1)*cosd(t(1)))-M(1,4); fs11=(sind(t(1))*(VC(5)*sind(t(2)+t(3)+t(4)) + VC(4)*cosd(t(2)+t(3)) +

VC(3)*cosd(t(2)))+VC(1)*sind(t(1)))-M(2,4); fs12=((E*cosd(t(2)+t(3)+t(4)) -D*sind(t(2)+t(3)) -C*sind(t(2)))+B)-

M(3,4); %fs12=((VC(5)*cosd(t(2)+t(3)+t(4)) -VC(4)*sind(t(2)+t(3)) -

VC(3)*sind(t(2)))+VC(2))-M(3,4);

FS2=[fs1;fs2;fs3;fs4;fs5;fs6;fs7;fs8;fs9;fs10;fs11;fs12];

Page 136: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 126 Maya Santos Manuel

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%

%%%%%%%% FDM

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

f1=((cosd(t(1))*cosd(t(2)+t(3)+t(4))*cosd(t(5)))-sind(t(1))*sind(t(5)))-

M(1,1); f2=((sind(t(1))*cosd(t(2)+t(3)+t(4))*cosd(t(5)))+cosd(t(1))*sind(t(5)))-

M(2,1); f3=(-sind(t(2)+t(3)+t(4))*cosd(t(5)))-M(3,1);

f4=((-cosd(t(1))*cosd(t(2)+t(3)+t(4))*cosd(t(5)))-sind(t(1))*sind(t(5)))-

M(1,2); f5=((-sind(t(1))*cosd(t(2)+t(3)+t(4))*cosd(t(5)))+cosd(t(1))*cosd(t(5)))-

M(2,2); f6=(sind(t(2)+t(3)+t(4))*sind(t(5)))-M(3,2);

f7=(cosd(t(1))*sind(t(2)+t(3)+t(4)))-M(1,3); f8=(sind(t(1))*sind(t(2)+t(3)+t(4)))-M(1,3); f9=(cosd(t(2)+t(3)+t(4)))-M(1,3);

f10=(cosd(t(1))*(VC(5)*sind(t(2)+t(3)+t(4)) + VC(4)*cosd(t(2)+t(3)) +

VC(3)*cosd(t(2)))+VC(1)*cosd(t(1)))-M(1,4); f11=(sind(t(1))*(VC(5)*sind(t(2)+t(3)+t(4)) + VC(4)*cosd(t(2)+t(3)) +

VC(3)*cosd(t(2)))+VC(1)*sind(t(1)))-M(2,4); f12=((E*cosd(t(2)+t(3)+t(4)) -D*sind(t(2)+t(3)) -C*sind(t(2)))+B)-M(3,4); %f12=((VC(5)*cosd(t(2)+t(3)+t(4)) -VC(4)*sind(t(2)+t(3)) -

VC(3)*sind(t(2)))+VC(2))-M(3,4);

FPM2=[f1 f1 f1 f1 f1; f2 f2 f2 f2 f2; f3 f3 f3 f3 f3; f4 f4 f4 f4 f4; f5 f5 f5 f5 f5; f6 f6 f6 f6 f6; f7 f7 f7 f7 f7; f8 f8 f8 f8 f8; f9 f9 f9 f9 f9; f10 f10 f10 f10 f10; f11 f11 f11 f11 f11; f12 f12 f12 f12 f12];

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%

%%%%%%%% FPM

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

fp(1,1)=((cosd(T(1))*cosd(t(2)+t(3)+t(4))*cosd(t(5)))-

sind(T(1))*sind(t(5)))-M(1,1); fp(1,2)=((cosd(t(1))*cosd(T(2)+t(3)+t(4))*cosd(t(5)))-

sind(t(1))*sind(t(5)))-M(1,1);

Page 137: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 127 Maya Santos Manuel

fp(1,3)=((cosd(t(1))*cosd(t(2)+T(3)+t(4))*cosd(t(5)))-

sind(t(1))*sind(t(5)))-M(1,1); fp(1,4)=((cosd(t(1))*cosd(t(2)+t(3)+T(4))*cosd(t(5)))-

sind(t(1))*sind(t(5)))-M(1,1); fp(1,5)=((cosd(t(1))*cosd(t(2)+t(3)+t(4))*cosd(T(5)))-

sind(t(1))*sind(T(5)))-M(1,1);

fp(2,1)=((sind(T(1))*cosd(t(2)+t(3)+t(4))*cosd(t(5)))+cosd(T(1))*sind(t(5

)))-M(2,1); fp(2,2)=((sind(t(1))*cosd(T(2)+t(3)+t(4))*cosd(t(5)))+cosd(t(1))*sind(t(5

)))-M(2,1); fp(2,3)=((sind(t(1))*cosd(t(2)+T(3)+t(4))*cosd(t(5)))+cosd(t(1))*sind(t(5

)))-M(2,1); fp(2,4)=((sind(t(1))*cosd(t(2)+t(3)+T(4))*cosd(t(5)))+cosd(t(1))*sind(t(5

)))-M(2,1); fp(2,5)=((sind(t(1))*cosd(t(2)+t(3)+t(4))*cosd(T(5)))+cosd(t(1))*sind(T(5

)))-M(2,1);

fp(3,1)=(-sind(t(2)+t(3)+t(4))*cosd(t(5)))-M(3,1); fp(3,2)=(-sind(T(2)+t(3)+t(4))*cosd(t(5)))-M(3,1); fp(3,3)=(-sind(t(2)+T(3)+t(4))*cosd(t(5)))-M(3,1); fp(3,4)=(-sind(t(2)+t(3)+T(4))*cosd(t(5)))-M(3,1); fp(3,5)=(-sind(t(2)+t(3)+t(4))*cosd(T(5)))-M(3,1);

fp(4,1)=((-cosd(T(1))*cosd(t(2)+t(3)+t(4))*cosd(t(5)))-

sind(T(1))*sind(t(5)))-M(1,2); fp(4,2)=((-cosd(t(1))*cosd(T(2)+t(3)+t(4))*cosd(t(5)))-

sind(t(1))*sind(t(5)))-M(1,2); fp(4,3)=((-cosd(t(1))*cosd(t(2)+T(3)+t(4))*cosd(t(5)))-

sind(t(1))*sind(t(5)))-M(1,2); fp(4,4)=((-cosd(t(1))*cosd(t(2)+t(3)+T(4))*cosd(t(5)))-

sind(t(1))*sind(t(5)))-M(1,2); fp(4,5)=((-cosd(t(1))*cosd(t(2)+t(3)+t(4))*cosd(T(5)))-

sind(t(1))*sind(T(5)))-M(1,2);

fp(5,1)=((-

sind(T(1))*cosd(t(2)+t(3)+t(4))*cosd(t(5)))+cosd(T(1))*cosd(t(5)))-

M(2,2); fp(5,2)=((-

sind(t(1))*cosd(T(2)+t(3)+t(4))*cosd(t(5)))+cosd(t(1))*cosd(t(5)))-

M(2,2); fp(5,3)=((-

sind(t(1))*cosd(t(2)+T(3)+t(4))*cosd(t(5)))+cosd(t(1))*cosd(t(5)))-

M(2,2); fp(5,4)=((-

sind(t(1))*cosd(t(2)+t(3)+T(4))*cosd(t(5)))+cosd(t(1))*cosd(t(5)))-

M(2,2); fp(5,5)=((-

sind(t(1))*cosd(t(2)+t(3)+t(4))*cosd(T(5)))+cosd(t(1))*cosd(T(5)))-

M(2,2);

fp(6,1)=(sind(t(2)+t(3)+t(4))*sind(t(5)))-M(3,2); fp(6,2)=(sind(T(2)+t(3)+t(4))*sind(t(5)))-M(3,2); fp(6,3)=(sind(t(2)+T(3)+t(4))*sind(t(5)))-M(3,2); fp(6,4)=(sind(t(2)+t(3)+T(4))*sind(t(5)))-M(3,2); fp(6,5)=(sind(t(2)+t(3)+t(4))*sind(T(5)))-M(3,2);

Page 138: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 128 Maya Santos Manuel

fp(7,1)=(cosd(T(1))*sind(t(2)+t(3)+t(4)))-M(1,3); fp(7,2)=(cosd(t(1))*sind(T(2)+t(3)+t(4)))-M(1,3); fp(7,3)=(cosd(t(1))*sind(t(2)+T(3)+t(4)))-M(1,3); fp(7,4)=(cosd(t(1))*sind(t(2)+t(3)+T(4)))-M(1,3); fp(7,5)=(cosd(t(1))*sind(t(2)+t(3)+t(4)))-M(1,3);

fp(8,1)=(sind(T(1))*sind(t(2)+t(3)+t(4)))-M(2,3); fp(8,2)=(sind(t(1))*sind(T(2)+t(3)+t(4)))-M(2,3); fp(8,3)=(sind(t(1))*sind(t(2)+T(3)+t(4)))-M(2,3); fp(8,4)=(sind(t(1))*sind(t(2)+t(3)+T(4)))-M(2,3); fp(8,5)=(sind(t(1))*sind(t(2)+t(3)+t(4)))-M(2,3);

fp(9,1)=(cosd(t(2)+t(3)+t(4)))-M(1,3); fp(9,2)=(cosd(T(2)+t(3)+t(4)))-M(1,3); fp(9,3)=(cosd(t(2)+T(3)+t(4)))-M(1,3); fp(9,4)=(cosd(t(2)+t(3)+T(4)))-M(1,3); fp(9,5)=(cosd(t(2)+t(3)+t(4)))-M(1,3);

fp(10,1)=(cosd(T(1))*(VC(5)*sind(t(2)+t(3)+t(4)) + VC(4)*cosd(t(2)+t(3))

+ VC(3)*cosd(t(2)))+VC(1)*cosd(T(1)))-M(1,4); fp(10,2)=(cosd(t(1))*(VC(5)*sind(T(2)+t(3)+t(4)) + VC(4)*cosd(T(2)+t(3))

+ VC(3)*cosd(T(2)))+VC(1)*cosd(t(1)))-M(1,4); fp(10,3)=(cosd(t(1))*(VC(5)*sind(t(2)+T(3)+t(4)) + VC(4)*cosd(t(2)+T(3))

+ VC(3)*cosd(t(2)))+VC(1)*cosd(t(1)))-M(1,4); fp(10,4)=(cosd(t(1))*(VC(5)*sind(t(2)+t(3)+T(4)) + VC(4)*cosd(t(2)+t(3))

+ VC(3)*cosd(t(2)))+VC(1)*cosd(t(1)))-M(1,4); fp(10,5)=(cosd(t(1))*(VC(5)*sind(t(2)+t(3)+t(4)) + VC(4)*cosd(t(2)+t(3))

+ VC(3)*cosd(t(2)))+VC(1)*cosd(t(1)))-M(1,4);

fp(11,1)=(sind(T(1))*(VC(5)*sind(t(2)+t(3)+t(4)) + VC(4)*cosd(t(2)+t(3))

+ VC(3)*cosd(t(2)))+VC(1)*sind(T(1)))-M(2,4); fp(11,2)=(sind(t(1))*(VC(5)*sind(T(2)+t(3)+t(4)) + VC(4)*cosd(T(2)+t(3))

+ VC(3)*cosd(T(2)))+VC(1)*sind(t(1)))-M(2,4); fp(11,3)=(sind(t(1))*(VC(5)*sind(t(2)+T(3)+t(4)) + VC(4)*cosd(t(2)+T(3))

+ VC(3)*cosd(t(2)))+VC(1)*sind(t(1)))-M(2,4); fp(11,4)=(sind(t(1))*(VC(5)*sind(t(2)+t(3)+T(4)) + VC(4)*cosd(t(2)+t(3))

+ VC(3)*cosd(t(2)))+VC(1)*sind(t(1)))-M(2,4); fp(11,5)=(sind(t(1))*(VC(5)*sind(t(2)+t(3)+t(4)) + VC(4)*cosd(t(2)+t(3))

+ VC(3)*cosd(t(2)))+VC(1)*sind(t(1)))-M(2,4);

fp(12,1)=((E*cosd(t(2)+t(3)+t(4)) -D*sind(t(2)+t(3)) -C*sind(t(2)))+B)-

M(3,4); fp(12,2)=((E*cosd(T(2)+t(3)+t(4)) -D*sind(T(2)+t(3)) -C*sind(T(2)))+B)-

M(3,4); fp(12,3)=((E*cosd(t(2)+T(3)+t(4)) -D*sind(t(2)+T(3)) -C*sind(t(2)))+B)-

M(3,4); fp(12,4)=((E*cosd(t(2)+t(3)+T(4)) -D*sind(t(2)+t(3)) -C*sind(t(2)))+B)-

M(3,4); fp(12,5)=((E*cosd(t(2)+t(3)+t(4)) -D*sind(t(2)+t(3)) -C*sind(t(2)))+B)-

M(3,4);

FDM2=fp; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%

Page 139: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 129 Maya Santos Manuel

J=(FDM2-FPM2)/damp; DS=pinv(J)*(-FS2);

t=t+DS'; if(abs(FS2)<1.0e-9), break; end

end J; t; k=t/360; s=round(k); r=s*360; j=t-r; INV=j;

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%

for ll=1:5 Theta(x,ll)=INV(ll); end VV=INV; end disp('La secuencia de la configuracion angular para el nuevo punto

es');Theta disp(' '); respuesta3=input('calcular la cinematica inversa para otra

coordenada?(si=1, no=0) : '); if respuesta3==1; cinversanueva2 else disp(' ');disp(' ');disp(' ');disp(' ');disp(' ');disp(' ');disp('

');disp(' ');disp(' Fin del Programa'); disp(' ');disp(' ');disp(' ');disp(' ');disp(' ');disp(' ');disp('

');disp(' '); end

Page 140: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 130 Maya Santos Manuel

ANEXO C CIRCUITOS ELECTRONICOS Y HOJAS DE

ESPECIFICACIONES

Page 141: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 131 Maya Santos Manuel

Page 142: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 132 Maya Santos Manuel

Page 143: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 133 Maya Santos Manuel

Page 144: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 134 Maya Santos Manuel

Descripción del puente h:

Es un Driver para motores de 4 canales, y se observan las ventajas que tiene, cada canal es

capaz de entregar hasta 1A de corriente, posee una entrada de alimentación independiente

que alimenta los 4 Drivers, es decir la que requieren los motores, el control de los Drivers

es compatible con señales TTL de 5 volts.

Cada uno de los 4 Drivers puede ser activado de forma independiente (por su terminal de

entrada), o habilitado de dos en dos con un solo terminal (Enable).

Los diodos schottky D1, D2, D3 y D4 son para proteger al circuito integrado del voltaje

generado por la inducción de las bobinas del motor, estos diodos también evitan las

variaciones por la habilitación del PWM en la Terminal 1

Fig. C1Circuito de conexión del puente h.

Fig. C2 Circuito de conexión del buffer 74LS243N.

Page 145: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/7412/1/DESYANALISIS.pdf · "DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO ROBOTICO ... para un

DESARROLLO Y ANÁLISIS CINEMATICO DE UN BRAZO

ROBÓTICO PARA LA SELECCIÓN DE PIEZAS

Fonseca Muciño Raúl 135 Maya Santos Manuel

Descripción del buffer:

Es un circuito integrado que nos sirve para proteger a la tarjeta pidhget de corrientes

parasitas que la puedan dañar, ya que este circuito solo permite el flujo de corriente en una

sola dirección, lo que permite aislar a la tarjeta pidhget del circuito de potencia del motor,

evitando que por algún motivo se dañe.

En la imagen siguiente se muestra el diagrama de conexión del puente h con el buffer,

señalando cuales son los pines donde se conectara el motor y donde se conectara la tarjeta

pidhget.

Fig. C3 circuito de conexión de buffer y puente h juntos.