Manipuladores Prácticas PDF

Title Manipuladores Prácticas
Author Maria Mora
Course Ampliación de Robótica
Institution Universidad de Málaga
Pages 40
File Size 2.6 MB
File Type PDF
Total Downloads 249
Total Views 616

Summary

Warning: TT: undefined function: 32 Warning: TT: undefined function: 32PRÁCTICA 1: INTERPOLACIÓN CARTESIANAEl presente ejercicio ilustra la generación de trayectorias cartesianas mediante una de las metodologías estudiadas en el presente tema. Para ello, se utilizarán una serie de funciones desarrol...


Description

Ampliación de Robótica

Prácticas Manipuladores.

PRÁCTICA 1: INTERPOLACIÓN C CARTESIANA ARTESIANA El presente ejercicio ilustra la generación de trayectorias cartesianas mediante una de las metodologías estudiadas en el presente tema. Para ello, se utilizarán una serie de funciones desarrolladas para tal efecto: •

function T = zyz2tr(a). Conversión del vector fila a= [alfa, beta, gamma] de los ángulos de Euler ZYZ a transformación homogénea ‘T’ de 4x4.



function a = tr2zyz(T,m). Obtiene la representación a = [alfa, beta, gama] de los ángulos de Euler ZYZ de la transformación T. El signo del parámetro ‘m’ elige la solución. Si no se especifica éste, se toma por defecto la solución positiva.



function q = tr2q(T,m). Realiza la conversión a cuaternio q de la matriz homogénea T. Las dos soluciones se eligen mediante el parámetro ‘m’. El signo de ‘m’ elige la solución positiva o la negativa. Si ‘m’ se omite se toma la positiva por defecto.



function T = q2tr(q). Calcula la matriz homogénea ‘T’ de dimensiones 4x4 correspondiente al cuaternio q.



function q = qqmul(q1, q2). Multiplicación de cuaternios. ‘q’ es el cuaternio resultado de multiplicar q1 por q2. Tanto q1 como q2 deben ser dos vectores filas de cuatro componentes.

Como datos se nos da también:

Se nos pide resolver los siguientes apartados en la realización de esta práctica:

Ampliación de Robótica

Prácticas Manipuladores.

1. Definir la función de interpolación por cuaternios basada en el método de Taylor qr = qpinter(q1, q2, t) que realice el cálculo del cuaternio intermedio entre q1 (inicial) y q2 (final). El valor t debe cumplir 0 ≤ t ≤ 1, de modo que [q1] = qpinter(q1, q2, 0) y [q2] = qpinter(q1,q2,1).

Un cuaternio es una herramienta matemática utilizada para trabajar con giros y orientaciones. Básicamente, es un número complejo en el espacio tetradimensional con base:

Definimos las matrices de posición para los puntos P1 y P2 que se dan a la entrada de la función. La evolución de la trayectoria es una de las dos acciones básicas en las que se expresa el movimiento del punto inicial al final.

Para la orientación del sistema, primero debemos calcular los cuaternios de P1 y P2 (q1 y q2), lo hacemos a partir de la función ‘q2tr(q)’.

Después, calculamos el inverso del punto 1, utilizando la ecuación:

Ampliación de Robótica

Prácticas Manipuladores.

S sería la primera componente del cuaternio de P y el vector fila 𝑤 󰇍󰇍 donde se

encuentran las tres últimas componentes del cuaternio.

La primera aproximación de q es una multiplicación cuaternial de la inversa de q1 con q2:

A partir de la componente Ѳ y del vector 𝑛󰇍 normalizado obtenemos la segunda

aproximación de q:

El valor final de ‘q’ lo obtenemos multiplicando la segunda aproximación de q con

q1

Comprobamos el resultado de la función desarrollada para los valores indicados en el enunciado:

Ampliación de Robótica

Prácticas Manipuladores.

2. Realizar una función de MATLAB con el formato P = tramo(P0, P1, P2, tau, T, t) que calcula la transformación P correspondiente al movimiento de P0 a P2 vía P1 suavizado por el método de Taylor. Los parámetros tau y T corresponden respectivamente al intervalo de transición y tiempo total empleado en recorrer el camino tal y como se muestra en la figura 1, y t indica el tiempo en el cual se alcanza la localización del camino P calculada.

Se nos pide una función que sea capaz de calcular la transformación desde el punto P0 al P2, teniendo en cuenta que tenemos que aplicar suavizado a la trayectoria en un intervalo definido desde “-tau” hasta “tau”. Por lo tanto, dentro de la función tramo diferenciamos tres partes: 1. t = [-T, -tau] 2. t = [-tau, tau] 3. t = [tau, T] Para el tramo inicial desde “-T”, el comienzo de la trayectoria, hasta “-tau” y el tramo final desde “tau” hasta “T”, aplicamos la interpolación por cuaternios para obtener una trayectoria lineal desde el punto de inicio al de destino.

Siempre tenemos en cuenta que “t” tiene que estar definido en el intervalo [-T, T]. Para la segunda parte, estamos en el caso “-tau” a “tau”, aplicamos el suavizado por el método de Taylor:

Ampliación de Robótica

Prácticas Manipuladores.

Hemos utilizado las ecuaciones dadas en el enunciado de la práctica, obtenidas a partir de condiciones de contorno en ambos extremos del tramo y definiendo la aceleración como constante, obtenemos la posición en función del tiempo:

Y también tenemos la rotación en función del tiempo:

Ampliación de Robótica

Prácticas Manipuladores.

Finalmente, ejecutaremos la función para tres valores distintos de t, para contemplar todos los casos: 1. t = -5

2. t = 0.5

3. t = 5

Ampliación de Robótica

Prácticas Manipuladores.

3. Representar gráficamente la evolución de la posición y la orientación (en ángulos de EulerZYZ) a lo largo de toda la trayectoria. En primer lugar, cargaremos el modelo del robot ABB IRB120:

Continuamos definiendo las matrices donde guardaremos la posición y la orientación a lo largo del bucle de seguimiento de la trayectoria. El seguimiento se llevará a cabo durante el intervalo de tiempo dado, para ello utilizaremos la función implementada en el ejercicio anterior “tramo.m”, y otras de las funciones proporcionadas por el profesor para realizar los cambios de representación de la orientación, entre ellas “q2tr.m”, para pasar de cuaternios a matriz de transformación homogénea, y “tr2zyz.m”, para finalmente obtener los ángulos de Euler ZYZ y poder representarlos. Además, se obtendrá la posición y orientación en el espacio articular para poder representar cada pose del robot. El código es el siguiente:

Ampliación de Robótica

Prácticas Manipuladores.

Por último, pasamos la representación de la posición y la orientación en ángulos de Euler:

Ampliación de Robótica

Prácticas Manipuladores.

Una vez implementado el código simularemos para observar el resultado, el resultado es el siguiente:

Figura 1.1. Simulación de la trayectoria recorrida por el ABB IRB120.

Figura 1.2. Representación de la posición en cartesianas.

Ampliación de Robótica

Prácticas Manipuladores.

Figura 1.3. Representación de la orientación en ángulos de Euler ZYZ.

Estamos representado la evolución de la posición y orientación, partiendo desde P0 para llegar a P2, pasando por P1. Como observamos en la Figura 1.1, siendo P0 el punto verde, P1 el amarillo y P2 el rojo, observamos que por P0 y P1 no pasamos exactamente, esto se debe a que existen configuraciones degeneradas que no lo permiten. Debemos tener en cuenta que el brazo robótico comienza la trayectoria desde la posición “home” y desde esta se dirige a P1.

PRÁCTICA 2: CONTROL DE FU FUERZAS ERZAS INDIRECTO La figura 1 representa a un manipulador de dos grados de libertad en el plano cuyo extremo se encuentra en contacto con una superficie suave y elástica. La coordenada xe denota la posición del plano sin deformar, (xd, yd) denota la posición que se desea alcanzar para ejercer una fuerza de contacto sobre la superficie y, finalmente, (x0, y0) la posición de equilibrio que se alcanza realmente.

Figura 2.1.Manipulador en el plano

Ampliación de Robótica

Prácticas Manipuladores.

Se desea realizar un control de fuerzas resistivo para ejercer una determinada posición sobre la superficie, de manera que se pueda especificar también el régimen transitorio. Para ello, se considera la siguiente ley de control:

Donde x y sus derivadas denotan los vectores de posición, velocidad y aceleración cartesianas del efector final, y las matrices Md, KD, y Kp representan los parámetros del controlador de resistencia, velocidad y posición. Se pide:

1. Si se considera una elasticidad del entorno sobre el eje X igual a kx = 103 N/m, calcular la frecuencia natural no amortiguada y el coeficiente de amortiguación del modelo cinemático equivalente del robot en contacto con el entorno. Al tomar kx = 104 N/m, calcular los nuevos valores de los parámetros dinámicos.

Primero calcularemos la frecuencia natural no amortiguada. Para ello, utilizaremos la siguiente expresión sacada del tema “Interacción con el entorno”, teniendo en cuenta que realizaremos un control de fuerzas resistivo. Así:

Para kx = 103 N/m: 𝜔𝑛 = (

5.9161 0 ) 0 5

Para kx = 104 N/m: 𝜔𝑛 = (

11.1803 0 ) 0 5

Ampliación de Robótica

Prácticas Manipuladores.

Finalmente, calcularemos el coeficiente de amortiguación utilizando la ecuación proporcionada por el mismo tema:

Para kx = 103 N/m: 𝜉 = (

0.4226 0 ) 0 0.5

Para kx = 104 N/m: 𝜉 = (

0.2236 0 ) 0 0.5

2. Realizar en SIMULINK la simulación dinámica del manipulador en contacto con el entorno, mediante el uso del modelo equivalente, si la posición de contacto es [1, 0], la deseada es [1.1, 0.1] con los dos valores de elasticidad del entorno considerados en el ejercicio anterior. En SIMULINK implementaremos la siguiente ley de control proporcionada por la práctica:

donde:

Así, podremos observar cómo salida del modelo la fuerza del efector final y su posición para los distintos valores de la elasticidad del entorno proporcionados por el apartado anterior.

Ampliación de Robótica

Prácticas Manipuladores.

El modelo quedaría de la siguiente forma:

Figura 2.2. Diagrama en Simulink

Simulando el modelo creado para kx = 103 N/m obtenemos una posición del efector final:

Figura 2.3. Simulación del modelo

Ampliación de Robótica

Prácticas Manipuladores.

Y una fuerza:

Figura 2.4. Simulación del modelo

Simulando, a continuación, el mismo modelo para kx = 104 N/m obtenemos una posición del efector final:

Figura 2.5. Simulación del modelo

Ampliación de Robótica

Prácticas Manipuladores.

Y una fuerza:

Figura 2.6. Simulación del modelo

En ambos casos podemos observar que se alcanza la posición deseada [1.1 0.1]. En cuanto a las fuerzas, el manipulador no necesita aplicar ninguna fuerza en el eje Y debido a que solo debe deformar la pared, por eso la fuerza aplicada es sobre el eje X.

3. Calcular un conjunto de parámetros del controlador que verifiquen que el comportamiento transitorio del sistema se encuentre críticamente amortiguado. ¿Existe un conjunto único de valores? Que un manipulador se encuentre críticamente amortiguado significa que el modelo dinámico presenta un coeficiente de amortiguamiento de valor 1. Por lo tanto, sabiendo que ξ = 1 y que:

Tendremos que modificar el valor de las matrices de masas, rigidez o amortiguamiento, debido a que dicho coeficiente depende del valor de estas matrices. No podemos modificar la matriz de elasticidad KA debido a que esta depende del entorno del manipulador. Dicho esto, despejamos, por ejemplo, KD, debido a su facilidad de cálculo, aunque podríamos despejar también Md o Kp, por lo que podemos afirmar que no existe un conjunto único de valores. Así:

Ampliación de Robótica

Prácticas Manipuladores.

𝐾𝑝 + 𝐾𝐴 (𝑥) 𝐾𝐷 = 2𝜉𝑀𝑑 √ 𝑀𝑑 Tomando kx = 103 N/m, obtenemos:

𝐾𝐷 = [

1183.216 0

0 ] 1000

Introduciendo el nuevo valor para la matriz de amortiguamiento en el modelo creado para el ejercicio anterior, obtenemos las gráficas de la posición del efector final y la fuerza del manipulador respectivamente:

Figura 2.7. Simulación del modelo

Ampliación de Robótica

Prácticas Manipuladores.

Figura 2.8. Simulación del modelo

Podemos volver a observa que se consigue alcanzar el punto deseado de la posición y que el manipulador ejerce solo fuerza en el eje X, es decir, a la pared. -

Conclusión:

En esta práctica hemos comprobado que no existe un único conjunto de parámetro para que el sistema se comporte como críticamente amortiguado, pudiendo jugar con estos para conseguir la respuesta que se desea conseguir. Además, se ha realizado una simulación en la que se tienen en cuenta las fuerzas que se ejerce el manipulador sobre sí mismo al estar en un entorno elástico.

PRÁCTICA 3: LINEALIZACIÓN POR REALIMENTACI REALIMENTACIÓN ÓN La Figura 1 representa un esquema de control basado en la linealización por realimentación. Se emplea cuando los esquemas de control fallan debido a que las aportaciones de los elementos no lineales del modelo dinámico resultan significativas. Se fundamenta en definir una entrada de control al brazo robótico, Ⴀu, a partir de la expresión:

Ampliación de Robótica

Prácticas Manipuladores.

Figura 3.1. Esquema de linealización por realimentación

Sin embargo, el desarrollo seguido no tiene en cuenta los actuadores, ya que solo se fundamenta en el uso de la dinámica de los elementos mecánicos del brazo robot:

Se pide: 1. Obtener las expresiones de los elementos B(Ɵ) y N (Ɵ, Ɵ’) cuando el manipulador detallado en la figura 1 posee incorporado los motores y los reductores, de manera que la entrada Ⴀu coincidirá con la tensión Va de entrada a los actuadores del manipulador. Se empleará Kr como el parámetro de la reductora, Kv como la constante de fuerza contra-electromotriz, Kt como constante de conversión tensión-par y Ra la resistencia de la armadura.

Partiendo del hecho de que el manipulador funciona con un motor eléctrico, tenemos que tomar las ecuaciones que modelan el funcionamiento y despejarlas en función de los parámetros dados para obtener las expresiones de B(Ɵ) y N (Ɵ, Ɵ’).

Teniendo en cuenta que se busca relacionar la entrada Ⴀu con la tensión Va: Ⴀu = 𝐵(Ɵ) · 𝑦 + 𝑁(Ɵ, Ɵ′ ) = 𝐾𝑡 · 𝐼𝑎

(Ec 3.1)

𝑉𝑎 = 𝐼𝑎 · 𝑅𝑎 + 𝐸𝑏

(Ec 3.2)

𝐸𝑏 = 𝐾𝑣 · Ɵ′

(Ec 3.3)

Sustituimos la ecuación (3.3) en la (3.2) y despejamos “Ia”:

Ampliación de Robótica

Prácticas Manipuladores.

𝐼𝑎 = (𝑉𝑎 − 𝐾𝑣 · Ɵ′ ) ·

1 𝑅𝑎

(Ec 3.4)

Una vez que tenemos “Ia” lo sustituimos en la ecuación (3.1): 𝐾𝑡

Ⴀ𝑢 = 𝐵(Ɵ) · 𝑦 + 𝑁 (Ɵ, Ɵ′ ) = 𝑅𝑎 · (𝑉𝑎 − Ɵ′ · 𝐾𝑣)

(Ec 3.5)

Se despeja Va de la ecuación (3.5) y obtenemos la expresión: 𝑅𝑎

𝑉𝑎 = 𝐵 (Ɵ) · 𝑦 · 𝐾𝑡·𝐾𝑣 + 𝑁(Ɵ, Ɵ′ ) · 𝐾𝑣·𝐾𝑡 + 𝑅𝑎

𝐾𝑡

𝑅𝑎

· Ɵ′

(Ec 3.6)

Finalmente, definimos: 𝑅𝑎

B*= 𝐵(Ɵ) · 𝑦 · 𝐾𝑡·𝐾𝑣 N*= 𝑁(Ɵ, Ɵ′) ·

𝑅𝑎

𝐾𝑡·𝐾𝑣

(Ec 3.7)

(Ec 3.8)

2. Simular el esquema de control diseñado a partir de la Figura 3.1 para un manipulador RR con el objeto de llegar a la referencia articular (10,5), expresado en grados, en un tiempo de 4 segundos (utilizar una interpolación de la posición por polinomios cúbicos). Verificar que efectivamente se sigue la trayectoria deseada. El modelo de Simulink implementado podemos observarlo en la Figura 3.2:

Ampliación de Robótica

Prácticas Manipuladores.

Figura 3.2. Modelo de Simulink. Linealización por realimentación.

Para la implementación del modelo se nos ha proporcionado el bloque “Brazo Mecánico Motorizado” y el bloque “InterCub” a partir del cual obtenemos la referencia articular utilizando una interpolación de posición por polinómicos cúbicos. Ha sido necesario añadir las matrices de control N* y B* para el cálculo de la tensión de alimentación de los motores. A continuación, podemos observar la implementación en Simulink y el código utilizado para las matrices de control.



Matriz de control N* La matriz de control N*, se ha implementado utilizando las no linealidades del

modelo del brazo robótico, el resultado se muestra en la Figura 3.3.

Ampliación de Robótica

Prácticas Manipuladores.

Figura 3.3. Subsistema N*



Matriz de control B* Para la matriz de control B*, se ha implementado una función de Matlab, “B”,

que a partir de los parámetros de entrada Q, m1, m2, L1, y L2, devuelve la matriz B, 𝑅𝑎

siendo esta multiplicada por 𝐾𝑡·𝐾𝑣 y por la referencia articular proporcionada por el

interpolador de polinomios cúbicos “intercub”. Se observa la implementación en Simulink en la siguiente figura, Figura 3.4, seguida del código utilizado para la función “B”.

Figura 3.4. Subsistema B*

Ampliación de Robótica

Prácticas Manipuladores.

Finalmente, simularemos para un tiempo de 4 segundos siendo este el tiempo necesario para que la posición de salida alcance la referencia articular, en este caso 10 grados para la primera articulación y 5 grados para la segunda. En la Figura 3.5 se observa que el resultado es el esperado, pues ambas posiciones alcanzan el límite en el tiempo determinado.

Figura 3.5. Posición articular del efector final en grados

Asimismo, se mostrará el resultado de las posiciones en radianes, de la velocidad y de la aceleración, estas se muestran en las Figuras 3.7, 3.8 y 3.9.

Figura 3.6. Posición articular del efector final en radianes

Ampliación de Robótica

Prácticas Manipuladores.

Figura 3.7. Velocidad articular del efector final

Figura 3.8. Aceleración articular del efector final

Ampliación de Robótica

Prácticas Manipuladores.

PRÁCTICA 4: Implantación de control de fuerzas indirecto El objetivo de la práctica 4 consiste en la implementación del sistema de control de fuerzas indirecto con el modelo de robot RR en el plano, desarrollado en las prácticas anteriores, introduciendo el modelo compensado del robot. En la práctica anterior empleábamos la ecuación equivalente del sistema, EC 1, para comprobar que el régimen transitorio podía ser controlado con los parámetros Md, Kd y Kp, en esta práctica, añadiremos la ecuación del robot compensado, EC 2. EC 1

EC 2

Para cumplir los objetivos, cumpliremos con el esquema de control presentado en la figura 4.1, para ello tendremos que seguir los pasos que se nos piden a continuación.

Figura 4.1. Esquema de control de fuerzas indirecto con el robot compensado.

1. Construir un subsistema que contenga el robot RR motorizado y compensado por la linealización por realimentación. El mencionado subsistema, se modificará para que contenga además la compensación de fuerzas, y para que sus entradas sean variables cartesianas en vez de articulares.

Partiendo de la práctica 3, crearemos un subsistema del robot RR motorizado y compensado por la linealización por realimentación. Una vez creado se deberá

Ampliación de Robótica

Prácticas Manipuladores.

modificar, pues debemos añadir la compensación de fuerzas para completar la ecuación 2. Además, se deberá modificar la entrada pues en la práctica 3 teníamos como entrada referencias articulares y para esta práctica se nos pide que se encuentren en el espacio cartesiano, para ello habrá que hacer una serie de transformaciones.

Comenzaremos introduciendo la fuerza en el modelo del “Brazo Robot” siguiendo la ecuación 3, el resultado se observa en la Figura 4.2. 𝐵(𝜃)−1 = 𝜏𝑢 − 𝑁(𝜃, 𝜃󰇘 )
...


Similar Free PDFs