UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS DECANA DE AMÉRICA FACULTAD Y ESCUELA ACADÉMICA PROFESIONAL DE INGENIERÍA INDUSTRIAL.
APLICACIÓN DE LA INTERPOLACIÓN POR SPLINES CÚBICOS EN DEFINIR TRAYECTORIAS PARA MOVIMIENTOS DE ROBOTS CURSO: MÉTODOS NUMÉRICOS. PROFESOR: PANTOJA, HERMES. ALUMNA: AREVALO ESPINOZA, NATALY. CÓDIGO: 16170190..
APLICADO A LA INGENIERÍA MECATRÓNICA
ÍNDICE .............................................................................. ........................ 2 INTRODUCCIÓN............................................... ......................................................
CAPÍTULO I: PLANTEAMIENTO DEL PROBLEMA ........................................................................... 3 1.1 SITUACIÓN PROBLEMÁTICA ............................................................................................... 3 1.2 FORMULACIÓN DEL PROBLEMA ........................................................................................ 3 1.3 JUSTIFICACIÓN DEL PROBLEMA ........................................................................................ 3 1.4 OBJETIVOS OBJETI VOS .............................................. ...................................................... .............................................................................. ........................ 4
CAPÍTULO II: MARCO TEÓRICO ................................................................................................... 5 2.1 MARCOS CONCEPTUALES ................................................................................................. 5
CAPÍTULO III: HIPÓTESIS Y VARIABLES ............................................... ........................................ 13 3.1 HIPÓTESIS HIPÓ TESIS GENERAL .................................................. .................................................... ......................................................... ..... 13 3.2 OPERACIONALIZACIÓN DE VARIABLES .......................................................................... 13
CAPÍTULO IV: METODOLOGÍA Y APLICACIÓN ................................................... ...................... 17 4.1 OBTENCIÓN DE PUNTOS-PATRÓN ................................................................................... 18 4.2 GRÁFICA INTERPOLANTE .................................................................................................. 22 ......................................................... ..... 27 CAPÍTULO V: RESULTADOS ................................................. .................................................... 5.1 RESULTADOS RESULT ADOS.................................................... ......................................................................................................... ................................................................... .............. 27 5.2 CONCLUSIONES ................................................................................................................ 28
REFERENCIAS BIBLIOGRÁFICAS ................................................................................................. 29
1
INTRODUCCIÓN En nuestra vida cotidiana estamos acostumbrados a utilizar toda clase de dispositivos electrónicos que fundamentalmente tienen la complicada misión de solucionarnos o simplificarnos una gran cantidad de dificultades o problemas que tenemos, convirtiéndose entonces en una herramienta de trabajo más y en muchas ocasiones hasta nos permite reducir el tiempo de trabajo o bien incrementar notoriamente la productividad y el rendimiento. Entre estos adelantos aplicados en materia de tecnología una de las más conocidas y quizá esperadas es la Robótica, siendo esta la rama de la ingeniería Mecatrónica que se encarga de Diseñar, Construir y hasta Operar toda clase de Robots, algo que aparece en las películas de ciencia ficción como una verdadera solución a los problemas de la vida cotidiana, aunque actualmente tenemos aplicaciones mucho más sencillas y quizá no nos damos cuenta. Para cualquier estudiante de las ingenierías relacionadas a la Robótica, que se especialice en esta rama, le será complicado aprender teóricamente los conocimiento ya avanzados, por ello en el presente trabajo deseo simplificar uno de los más complejos conocimientos de Robótica, la “cinemática de Robots”, mediante reducción de variables,
trabajando solo con la posición y sus derivadas, que quedan implícitas al usar la interpolación por Spline. Sin más, espero que sea de su agrado.
2
CAPÍTULO I: PLANTEAMIENTO DEL PROBLEMA 1.1 SITUACIÓN PROBLEMÁTICA Actualmente, el campo de la robótica es de gran interés para el avance de la tecnología, este campo traen consigo novedades cada vez más profundas, avanzadas y complicadas. Resolver dichos problemas se vuelve un problema mayor, y hasta los más mínimos y sencillos movimientos en los robots han sido resueltos de manera compleja, por ello, el problema a tratar en este trabajo radica en cómo hallar y trazar una trayectoria para que un brazo robótico pueda seguir el movimiento que deseemos, conociendo con anterioridad que dicha trayectoria (y la velocidad y aceleración) debe ser continua y suave.
1.2 FORMULACIÓN DEL PROBLEMA ¿Cómo diseñar una trayectoria, de manera que su velocidad y aceleración sean continuas y suaves en todos los puntos, para que un brazo robótico pueda trazarla sin problemas?
1.3 JUSTIFICACIÓN DEL PROBLEMA Para la generación de trayectorias existen varias técnicas y software diseñados, sin embargo, estos suelen ser largos en términos de operaciones matemáticas, con lenguajes de programación avanzados conocimientos amplios en dichas plataformas virtuales y complicadas a la hora de aplicarlos para solventar un problema en particular. Esto hace que la parte cinemática del robot se entienda 3
como un área muy compleja, es por ello que surge la necesidad de crear una aplicación para solventar este tipo de situaciones, y mediante el uso de splines cúbicos puedo dar solución a esta situación, debo acotar que el método que usaré es básico y puede ser usado para una introducción para estudiantes de ingeniería mecatrónica, eléctrica, mecánica, tecnología biomédica, diseño y manufactura y todos las ramas de la ingeniería que se especialicen en robots.
1.4 OBJETIVOS 1.4.1 OBJETIVOS GENERALES Obtener una forma de diseñar una trayectoria suave y continua en todos sus puntos para que un brazo robótico pueda realizar el camino trazado que le hemos implementado, sin tener complicaciones.
1.4.2 OBJETIVOS ESPECÍFICOS - Usando la información teórica y práctica obtenida en clase, delimitar con precisión la trayectoria a seguir de un brazo robótico. - Encontrar puntos continuos y graficarlos en MatLab usando splines cúbicos. -Presentar e introducir de manera sencilla la cinemática en Robots, que servirá de beneficio a estudiantes como a profesores en su metodología de enseñanza.
- Llevar la teoría hacia aplicaciones a la ingeniería mecatrónica, específicamente robótica, mediante Métodos Numéricos.
4
CAPÍTULO II: MARCO TEÓRICO 2.1 MARCOS CONCEPTUALES 2.1.1
LA ROBÓTICA La robótica es la rama de la ingeniería mecatrónica, de la ingeniería eléctrica, de la electrónica, de la ingeniería mecánica, de la biomédica y de las ciencias de la computación que se ocupa del diseño, construcción, operación, disposición estructural, manufactura y aplicación de los robots. Combina diversas disciplinas como son: la mecánica, la electrónica, la informática, la inteligencia artificial, la ingeniería de control y la física. Otras áreas importantes en robótica son el álgebra, los autómatas programables, la animatrónica y las máquinas de estados. La robótica va unida a la construcción de "artefactos" que trataban de materializar el deseo humano de crear seres a su semejanza y que al mismo tiempo lo descargasen de trabajos tediosos. Etimológicamente, la palabra robótica viene del término “robota”, palabra sueca, que significa “servidumbre, trabajo forzado”, siendo este el principal
interés y objeto a inicios de este campo.
5
2.1.2 BRAZO ROBÓTICO Un brazo robótico es un tipo de brazo mecánico, normalmente programable, con funciones parecidas a las de un brazo humano; este puede ser la suma total del mecanismo o puede ser parte de un robot más complejo. Las partes de estos manipuladores o brazos son interconectadas a través de articulaciones que permiten, tanto un movimiento rotacional (tales como los de un robot articulado), como un movimiento traslacional o desplazamiento lineal. TIPOS -Robot cartesiano: Usado para trabajos de “pick and place” (tomar y colocar), aplicación de impermeabilizantes, operaciones de ensamblado, manipulación de máquinas herramientas y soldadura por arco. Es un robot cuyo brazo tiene tres articulaciones prismáticas, cuyos ejes son coincidentes con los ejes cartesianos. -Robot cilíndrico: Usado para operaciones de ensamblaje, manipulación de máquinas herramientas, soldadura por punto, y manipulación en máquinas de fundición a presión. Es un robot cuyos ejes forman un sistema de coordenadas cilíndricas. -Robot esférico / Robot polar, tal como el Unimate: Usados en la manipulación en máquinas herramientas, soldadura por punto, fundición a presión, máquinas de desbarbado, soldadura por gas y por arco. Es un robot cuyos ejes forman un sistema polar de coordenadas. 6
-Robot SCARA: Usado para trabajos de “pick and place” (tomar y colocar), aplicación de impermeabilizantes, operaciones de ensamblado y manipulación de máquinas herramientas. Es un robot que tiene dos articulaciones rotatorias paralelas para proporcionar elasticidad en un plano. -Robot articulado: Usado para operaciones de ensamblaje, fundición a presión, máquinas de desbarbado, soldadura a gas, soldadura por arco, y pintado en spray. Es un robot cuyo brazo tiene como mínimo tres articulaciones rotatorias. -Robot paralelo: Uno de los usos es la plataforma móvil que manipula las cabinas de los simuladores de vuelo. Es un robot cuyos brazos tienen articulaciones prismáticas o rotatorias concurrentes. -Robot Antropomórfico: Similar a la mano robótica de Luke Skywalker que se le coloca al final de The Empire Strikes Back. Se le da forma para que pueda sustituir a una mano humana, p.e. con dedos independientes incluido el pulgar.
2.1.3 SPLINE CÚBICO El spline cúbico es el spline más empleado, debido a que proporciona un excelente ajuste a los puntos tabulados y su cálculo no es excesivamente complejo.
7
Sobre cada intervalo [t0,t1],[t1,t2],...,[tn-1,tn], S está definido por un polinomio cúbico diferente. Sea Si el polinomio cúbico que representa a S en el intervalo [t i ,t i+ 1], por tanto:
Los polinomios Si -1 y Si interpolan el mismo valor en el punto t i, es decir, se cumple: Si -1(t i) = y i = Si (t i)
por lo que se garantiza que S es continuo en todo el intervalo. Además, se supone que S' y S'' son continuas, condición que se emplea en la deducción de una expresión para la función del spline cúbico. Aplicando las condiciones de continuidad del spline S y de las derivadas primera S' y segunda S'', es posible encontrar la expresión analítica del spline. No vamos a obtener esta expresión, ya que su demostración queda fuera del ámbito de estos apuntes. Simplemente diremos que la expresión
resultante es: En la expresión anterior, hi =t i+ 1-t i y z0, z1,…, zn son incógnitas. Para determinar sus valores, utilizamos las condiciones de continuidad que deben cumplir estas funciones. El resultado (que tampoco vamos a demostrar) es:
La ecuación anterior, con i= 1, 2,…, n-1 genera un sistema de n1ecuaciones lineales con n+1 incógnitas z0, z1,…, zn. Podemos elegir z 0 y z 1 de forma arbitraria y resolver el sistema de ecuaciones resultante para obtener los valores de z 1, z2,…, zn-1. Una elección especialmente adecuada es hacer z 0=z 1=0. La función spline resultante se denomina spline cúbico natural y el sistema de ecuaciones lineal expresado en forma matricial es:
8
en donde: h
=
u
=
b
=
t i+ 1-t i
=
Algoritmo para el spline cúbico.
9
El código acepta como entrada un conjunto de nodos ( t i) y el conjunto de los valores de la función correspondiente ( y i) y produce un vector con los vectores z i . Por último, el valor del spline S en un punto x cualquiera interpolado se puede calcular de forma eficiente empleando la siguiente expresión:
En donde
: Ai
=
Bi
=
C i
=
10
Ejemplo de gráfico de Spline.
11
Ejemplo de gráfico de Spline
Observando ambos gráficos se puede concluir que el uso de Splines Cúbicos con MatLab es una manera útil, práctica y fácil para obtener puntos intermedios y que estos sean continuos y la curva de la función total sea suave. Al resultar un polinomio de tercer grado, se conoce, además, que tanto la primera y segunda derivada serán continuas.
12
CAPÍTULO III: HIPÓTESIS Y VARIABLES 3.1 HIPÓTESIS GENERAL Se puede definir la trayectoria de un brazo robótico a través de dos variables de longitud, abscisas y ordenadas (x, y), implementando la curva de movimiento a seguir a través de MatLab, hallando experimentalmente puntos cercanos entre sí, para luego trazar una función continua y suave por medio de splines cúbicos.
3.2 OPERACIONALIZACIÓN DE VARIABLES 3.1.1
MÉTODO PRÁCTICO (2D) Este método es de utilidad para iniciarse en investigaciones sobre el movimiento de robots. El método en sí es fácil y práctico, pero resulta tedioso, complejo e impreciso, dependiendo de las imágenes o curvas que se deseen dibujar. Ahora, el método práctico es aplicable cuando: -Se tienen figuras simétricas. -Dichas figuras tienen pendiente muy suave en todos sus puntos. -Se trabaja con una superficie en 2D y lisa. Se hace énfasis que el tercer requisito es necesario para analizar y obtener los puntos de la curva deseada. Aprovechando la geometría simétrica de la figura, y para poder aplicar el método a curvas abiertas, se divide el contorno en dos partes (mitad superior y mitad inferior). Generalmente se realizan pruebas para pasos de puntospatrón de 10, 5 y un milímetro, dependiendo de las zonas a medir. Cuando ya se han obtenido los suficientes puntos-patrón que han bordeado la mitad de la 13
zona a dibujar, estos se pasan a digitalizado, pero al no ser una curva continua sino más bien, un conjunto de puntos secuenciales y próximos, es necesario recurrir a una plataforma virtual que ayude a conseguir una curva que interpole los puntos y nos dibuje una gráfica continua y suave. 3.1.2
PROCESAMIENTO DE IMÁGENES (3D) El procesamiento de imágenes es básico pero no menos importante en este trabajo. El proceso de captura de imagen y su procesamiento cuentan con un gran número de metodologías y algoritmos muy estudiados. El conocimiento de la aplicación y modo de empleo de estas herramientas son la clave para tener un resultado óptimo y funcional. OBTENCIÓN DE LA IMAGEN Un proceso clave para que el procesamiento de imágenes no sea tan complicado, es la obtención de una imagen de buena calidad, para los fines que convenga a la aplicación. En la obtención de la imagen para ésta aplicación, son necesarias dos cosas, que el objeto del cual se requiere digitalizar el contorno sea el único en la imagen y que el contraste entre el objeto y el fondo sea muy bueno y diferenciado. Como se muestra en las imágenes.
14
La obtención de estas imágenes, se realizó con una cámara digital estándar, que puede ser cualquier tipo de cámara digital fotográfica. Entre mejores características fotográficas tenga la cámara y mejor sistema de iluminación se tenga, se obtiene mejor calidad en las imágenes y por consiguiente el procesamiento se simplifica. Cabe señalar que en éste trabajo no se profundiza en el tema de visión, sólo en el procesamiento, ya que hablar de visión implica los conocimientos de diferentes equipos y técnicas tales como la óptica y la iluminación, que son campos de estudio muy amplios. GENERACIÓN DE CONTORNO El proceso para la obtención de contorno del objeto cuenta con dos fases que a continuación se describen. -En la primera fase, se umbraliza la imagen para resaltar aún más las características del objeto sobre el fondo, al umbralizar se obtiene una imagen binaria representada por ceros y unos que corresponden a los colores negro y blanco respectivamente. -En la segunda fase, se desarrolló un algoritmo propio para generar el seguimiento del contorno, que consiste en asignar la dirección de búsqueda (sentido horario o anti horario), hacer un barrido para buscar un punto inicial, seguir todos y cada uno de los puntos del contorno y guardarlos en un par de vectores (x, y), los cuales nos representan la ubicación en el plano del contorno y son necesarios para obtener las splines
15
En los procesos industriales, este es el método óptimo para graficar en placas metálicas, principalmente, las figuras que se desean obtener. Este método es el más seguro y aproximado en cuanto a la precisión y aproximación de los puntos obtenidos en digitalizado en comparación con la realidad, es decir, que es el que presenta menor error.
16
CAPÍTULO IV: METODOLOGÍA Y APLICACIÓN En el capítulo anterior presenté los dos métodos para obtener en digitalizado el contorno de la figura o curva que deseemos trazar para después de haber obtener la función y gráfica interpolante por el uso de Spline. Esta curva será la trayectoria que recorrerá el brazo robótico al haber aplicado los comandos respectivos al programa respectivo. Tal como se menciona al principio, el método práctico es usado para introducirse a la cinemática de robots, si se desea una trayectoria más precisa y para uso industrial se debe obtener los puntos por el procesamiento de imágenes. Existe una pieza mecánica llamada “leva”. He optado dicha pieza por cumplir los
requisitos mencionados con anterioridad. A continuación y como ejemplo, presento la imagen real de esta pieza, mediante un muestreo obtengo experimentalmente puntos-patrón y estos serán presentados en una tabla, para luego mostrar estos puntos (aún sin interpolar) en el plano cartesiano y luego una gráfica de nuestra grafica interpolante mediante splines cúbicos en MatLab.
17
PIEZA DE LEVA
4.1 OBTENCIÓN DE PUNTOS-PATRÓN Las dimensiones fundamentales de una leva son: La elevación máxima que se encuentra entre nueve y once milímetros y de la cual depende el valor de la sección de paso a través de la válvula, el ángulo de acción a que está determinado por la siguiente ecuación.
El radio R del circulo base (12 – 15 mm), el radio de cabeza (no mayor a 3 mm), la longitud del flanco que se encuentra entre 13 mm y 15 mm, el juego P que es aproximadamente 0.5 mm y el radio reducido R1 = R – p.
18
TABLA DE PUNTOS-PATRÓN
EJE X
EJE Y
EJE X
EJE Y
0
0
-3.9
13.9656722
-0.1
14.4996552
-4.2
13.8784005
-0.3
14.4968962
-4.8
13.6824705
-0.5
14.4913767
-5.3
13.4966663
-0.7
14.4830936
-5.5
13.4164079
-0.9
14.472042
-5.9
13.2453766
-1.1
14.4582157
-6.8
12.8066389
-1.3
14.4416066
-7.8
12.2233383
-1.5
14.4222051
-8.8
11.5243221
-1.8
14.3878421
-9.8
10.6869079
-2
14.3614066
-10.8
9.6752261
-2.4
14.3
-11.8
8.42674314
-2.9
14.2070405
-12.8
6.81248853
-3.3
14.1194901
-13.5
5.29150262
19
EJE X
EJE Y
EJE X
EJE Y
-13.8
4.45084262
3.5
14.0712473
-13.9
4.12795349
3.9
13.9656722
-14.2
2.93428015
4.5
13.7840488
-14.4
1.7
4.9
13.6469777
-14.5
0
5.5
13.4164079
0.5
14.4913767
6
13.2003788
1
14.4654761
7
12.8
1.5
14.4222051
8
12.3
1.7
14.4
9
11.9
1.9
14.3749783
12
10.2
2.2
14.3321317
15
8.7
2
14.3614066
19
6.4
2.5
14.2828569
21
5
2.9
14.2070405
23
3
20
EJE X
EJE Y
24.5
1.5
24.7
1.35
24.9
1.12
25
1
25.1
0.7
25.2
0.4
25.3
0.1
21
Estos puntos los graficamos libremente, sin aún haberlo interpolado.
4.2 GRÁFICA INTERPOLANTE Para interpolar los puntos y obtener la gráfica ideal: -Continúa en todo el contorno de la trayectoria dibujada. -Suave en todos los puntos. -Continúa en la primera derivada, (la primera derivada de la trayectoria es la velocidad) y esta continuidad nos asegura que el brazo trace un recorrido constante. -Continúa en la segunda derivada, (la segunda derivada de la trayectoria es la aceleración) y este requisito nos verifica que el brazo robótico tendrá un movimiento eficaz. Mediante Splines Cúbico y usando MatLab, interpolaré mis puntos-patrón, para ello, MatLab requiere del código del Spline cúbico, y como deseo obtener la gráfica de interpolación brindada por MatLab, entonces implementaré una función que realizará el trazado del gráfico. A continuación, los códigos utilizados.
22
CÓDIGO PARA EL SPLINE CÚBICO
CÓDIGO PARA EL TRAZADOR GRÁFICO
23
Después de haber implementado los códigos necesarios, en un script se ingresan los valores de los puntos-patrón y se obtiene lo siguiente: IMPLEMENTACIÓN DE PUNTOS-PATRÓN
24
25
GRÁFICA DE LA INTERPOLACIÓN MEDIANTE SPLINE CÚBICO
El digitalizado nos abastece de un contorno ideal para implementar en los movimientos suaves de un brazo robótico. Para comprobar mi hipótesis, me basaré en un brazo robótico construido con piezas ‘Lego’, que sirve para aplicar principios básicos de la robótica. Recalco
nuevamente, que mediante la comprobación de mi hipótesis, se podrá tener una idea más clara de cómo funciona la cinemática en los robots, que sirve de base para procesos más complicados en la posteridad. Servirá principalmente a estudiantes que inician carreras de Mecánica, Electrónica, Mecatrónica, de Diseño y Manufactura, entre otros. El brazo robótico al que me refiero, realizará un movimiento suave y continuo que obtuve mediante la interpolación por Spline. Mostraré el movimiento de dicho brazo robótico en la exposición en clase.
26
CAPÍTULO V: RESULTADOS 5.1 RESULTADOS Mi hipótesis resultó cierta. He comprobado experimentalmente la trayectoria que he trazado por spline en un brazo robótico compuesto por piezas “Lego”. Obtuve la ayuda del profesor de robótica Cristian Santos, de la academia “Ciencia y Arte”, quien fue el que programó en el programa de la misma mar ca “Lego” una trayectoria para que el
brazo la recorra. El video de muestra lo proyectaré en la exposición. Adjunto una foto.
27
5.2 CONCLUSIONES
- La hipótesis resultó verdadera: a través de puntos medidos experimentalmente delimité el contorno de la trayectoria que deseaba el brazo robótico siga. -El interés de este proyecto de investigación no fue el de mostrar el desarrollo completo de la cinemática de un brazo robótico, sino de dar a entender el procedimiento que se siguió para el cálculo de la trayectoria deseada mediante la interpolación por splines cúbicos. -El objetivo general quedó satisfecho a cabalidad: gracias a los Splines Cúbicos se puede asegurar que la trayectoria obtenida por la interpolación será continua y suave en todos los puntos. -La edición de la curva se consigue seleccionando un grado alto para el polinomio, así la curva será más suave. Para ello tomar la mayor cantidad de puntos-patrón. -Mediante este proyecto de investigación se puede llegar a causar interés y motivación a los estudiantes que se inclinen por la rama de la robótica e introducirlos de forma general en el conocimiento de la cinemática de robots. -El presente trabajo puede servir también como una guía básica para la metodología de enseñanza de los profesores a sus alumnos mediante formas interactivas sencillas y a bajo costo. -Se concluye que la plataforma MatLab y los códigos implementados, son de una gran ayuda para resolver problemas actuales de matemáticas e ingenierías, siendo un ejemplo la gráfica brindada por dicho programa. -Queda comprobado que es posible utilizar la información aprendida en el curso de “Métodos Numéricos” en una aplicación a la ingeniería, en mi caso, a la Robótica, rama
de la ingeniería Mecatrónica e ingenierías cercanas.
28