You are on page 1of 11

MODELO DIRECTO

En este apartado se pretende resolver el modelo cinemático directo del manipulador SCARA, para ello
se utilizará la notación de Craig en todo la formulación. Además se utilizará la herramienta Matlab
para la obtención del modelo.
El objetivo es obtener una función que permita expresar la posición y orientación del sistema de
referencia del extremo de la cadena cinemática en función de las variables articulares:
x = F(q)
Para poder hallar las expresiones y usar formulación matricial, lo primero que se debe de hacer es
asignar un sistema de referencia a cada articulación. El robot SCARA tiene 4 articulaciones, o sea, 4
grados de libertad (exceptuando configuraciones degeneradas que se comentarán posteriormente).
Se asignan 5 sistemas de referencia, uno para cada articulación y un sistema de referencia absoluto
al que nos referiremos como {0}.
En el momento de asignar dichos sistemas de referencia se siguen una serie de reglas que permiten
posteriormente expresar más fácilmente las matrices de transformación homogéneas involucradas en
la cadena cinemática.
Los ejes de los distintos sistemas de coordenadas se asignan haciendo coincidir el eje con el eje
de la articulación. El eje se elige en la dirección de la perpendicular común entre el eje de la
articulación y el eje de la siguiente articulación. El último eje del sistema de referencia, se asigna
siguiendo la regla de la mano derecha.
En la figura 3.1 se muestran los sistemas de referencia asignados en la configuración SCARA.
En el robot SCARA tenemos 4 articulaciones, tres de las cuales son de rotación y una prismática. Para
el modelo cinemático los parámetros de la estructura del robot que se van a usar son L
2
y L
3
, las
longitudes de los enlaces 1 y 2 respectivamente y L
1
la altura de los enlaces 1 y 2 con respecto a la
base.

Figura 3.1: Asignación de cuadros de referencia a la estructura SCARA
El sistema de referencia {0}, es el sistema de coordenadas base, y asumimos que está fijado al
entorno del Robot. El sistema de referencia {1} coincide en el origen con {0} pero puede ser rotado
un ángulo 
1
alrededor del eje . Al final del enlace 1, de longitud L
2
se sitúa el sistema de
referencia {2}, que puede rotar un ángulo 
2
alrededor del eje z. El sistema de coordenadas {3}
situado al final del enlace 2 se puede desplazar a lo largo del eje z, siendo d
3
el desplazamiento de
dicho enlace. Por último el sistema de coordenadas {4} coincide en el origen cuando 
4
es cero.
A fin de usar las transformaciones homogéneas para pasar de sistema de referencia a otro, se
definen una serie de parámetros asociados a la estructura del manipulado, que posteriormente se
utilizan en el cálculo del modelo directo.
A las variables articulares mencionadas anteriormente se les nombra de la siguiente manera:

1


q
1


2
 q
2

d
3
 q
3


4


q
4

Además para cada sistema de coordenadas {i}, se define el parámetro a
i-1
como la distancia del eje
de la articulación i-1 y el eje de la articulación i, medida sobre la línea perpendicular común y 
i-1

como el ángulo entre estos dos ejes.
Obteniendo todos los parámetros anteriores para cada articulación del manipulador SCARA se obtiene
los denominados parámetros de Denavit-Hartenberg del robot SCARA (Tabla 3.1).
articulación
i

1 0 0 q
1
l
1
0
2 0 l
2
q
2
0 0
3 0 l
3
0 q
3
1
4 0 0 q
4
0 0

Tabla 3.1: Parámetros de Denavit-Hartenberg
El parámetro 
i
indica con un 1 si es una articulación prismática, y con 0 si es de rotación. Su uso
sólo tiene interés para el posterior uso de las funciones de Matlab pertenecientes al "Robotics
Toolbox".
La matriz de transformación homogénea que realiza el paso del sistema {i} al {i-1} en función de los
anteriores parámetros es:

A partir de la matriz de cada articulación se puede calcular la posición y orientación en el espacio
cartesiano del extremo del manipulador como:

Para resolver el modelo directo, se va a usar la herramienta Matlab. Para ello se deben de escribir las
siguientes líneas:
syms q1 q2 q3 q4 real; %Variables articulares
syms l1 l2 l3 real; %Parámetros de longitud de los enlaces
%matriz de parámetros del manipulador
dh=[ 0 0 q1 l1 0;
0 l2 q2 0 0;
0 l3 0 q3 1;
0 0 q4 0 0];
q=[q1 q2 -q3 q4]; %Vector de Variables articulares
T=simple(fkine(dh,q))

El resultado de las anteriores líneas es:


La anterior matriz constituye el modelo directo del robot SCARA, y dentro de ella se pueden distinguir
dos partes: la submatriz 3x3 constituida por las tres primeras filas y tres primeras columnas,
representa una transformación de rotación. Y la última columna que representa la posición del
extremo del manipulador con respecto al sistema de referencia {0}.


Con la función plotbot de Matlab se realiza una representación en el plano del robot SCARA (Figura
3.2) con los siguientes valores para las variables articulares:


Figura 3.2: Ejemplo de representación



MODELO DINAMICO
Para poder simular un robot necesitamos un modelo acerca de cómo se mueve cuando se aplica un
conjunto de pares de fuerza. Se necesita calcular las ecuaciones del movimiento generado por la
aplicación de un conjunto de pares en las correspondientes articulaciones.
El modelo dinámico de cualquier manipulador puede expresarse como

donde  , G, V, F son vectores de n elementos (en el robot SCARA de 4 elementos), y M(q) es una
matriz de nxn (4x4) denominada matriz de masas. El término G(q) representa los efectos
gravitatorios y depende de las variables articulares. V(q') representa los pares generados por las
fuerzas centrífugas y de Coriolis y en el caso de que la velocidad sea pequeña es despreciable. Por
último el término F(q') se denomina vector de fricciones y en el análisis realizado posteriormente no
se considera.
La matriz de masas M(q) es una matriz simétrica, definida positiva y está acotada superiormente e
inferiormente ya que depende de las variables q a través de funciones trigonométricas. Un aspecto
importante de dicha matriz es que es siempre invertible y su inversa es también definida positiva y
acotada.
El vector G(q') contiene los términos que dependen de la gravedad g, y también depende de las
variables articulares a través de senos y cosenos por lo que está acotado. El término de fricciones
F(q') es complejo y normalmente difícil de aproximar. En principio depende de las variables
articulares, y lo que se hace es proponer modelos e intentar ver si se ajusta a la realidad.
Para la obtención del modelo dinámico del manipulador, se ha utilizado la herramienta Matlab. La
función me permite obtenerlo, pasándole una serie de parámetros que caracterizan al manipulador
(SCARA en este caso).
Las siguientes líneas de Matlab obtienen el modelo dinámico:
syms q1 q2 q3 q4 real; %Variables articulares
syms l1 l2 l3 real; %Longitudes de los enlaces
syms qd1 qd2 qd3 qd4 real; %Velocidades de las articulaciones
syms qdd1 qdd2 qdd3 qdd4 real; %Aceleraciones de las articulaciones
syms m1 m2 m3 m4 real; %Masas de los enlaces
syms g real; % Gravedad
syms Izz1 Izz2 Izz3 Izz4 real; % Tensor de inercia de los enlaces

q=[q1 q2 -q3 q4]; %Vector de variables articulares
qd=[qd1 qd2 qd3 qd4]; %Vector de velocidades articulares
qdd=[qdd1 qdd2 qdd3 qdd4]; %Vector de aceleraciones articulares
grav=[0;0;g]; %Vector de aceleración de la gravedad

%Matriz de parámetros dinámicos del manipulador
dyn=[0 0 q1 l1 0 m1 l1 0 0 0 0 Izz1 0 0 0 0 1 0 0 0;
0 l2 q2 0 0 m2 l2 0 0 0 0 Izz2 0 0 0 0 1 0 0 0;
0 l3 0 q3 1 m3 0 0 -l3 0 0 Izz3 0 0 0 0 1 0 0 0;
0 0 q4 0 0 m4 0 0 0 0 0 Izz4 0 0 0 0 1 0 0 0];
tau=me(dyn,q,qd,qdd,grav);
simple(tau)

Figura 5.1: Sistemas de referencia para la resolución del modelo dinámico

Para toda la formulación que viene a continuación, los parámetros del manipulador y sistemas de
referencia escogidos se corresponden con los mostrados en la figura 5.1.
Con las anteriores instrucciones se obtienen las siguientes matrices y vectores que componen el
modelo dinámico del manipulador SCARA. La matriz de masas M(q) que se obtiene es:








Y el vector de términos gravitatorios

Y por último el vector con los términos centrífugos y de Coriolis

Con el modelo dinámico se relacionan los pares de control de las articulaciones con las variables
articulares. Se pude utilizar dicho modelo para obtener las variables articulares ante la aplicación de
unos determinados pares.

Así podemos obtener las trayectorias articulares mediante integración numérica. Las condiciones
iniciales serían
q( 0 )=q
o
; q'(0)=0; q''(0)=0
Aunque este problema se puede resolver también usando la herramienta Matlab, se va a realizar la
simulación del comportamiento dinámico mediante Simulink. Para eso hay que dibujar un conjunto de
bloques que implementen la ecuación

El diagrama de bloques usado en Simulink se muestra en la figura 5.2. Se han unido en un solo
bloque los términos gravitatorios y el vector de términos centrífugos y de Coriolis. Los parámetros del
manipulador necesarios para la simulación son necesarios introducirlos en el bloque de términos
centrífugos y gravitatorios y en el bloque de la matriz inversa de masas.
Para calcular la inversa de la matriz de masas, se siguen una serie de pasos en tiempo real en la
herramienta Simulink. Se calcula primero la matriz de masas en tiempo real a partir de los
parámetros y del valor de las variables articulares. Posteriormente se realiza la inversa en tiempo
real.
Una vez que se tiene el modelo, se pueden introducir diferentes pares de control y observar la
respuesta de las variables articulares.


Figura 5.2: Diagrama de bloques de Simulink
Se van a realizar dos simulaciones con la herramienta Simulink a modo de ejemplos. En uno no se va
a introducir ningún par y observaremos la evolución de las articulaciones ante unas condiciones
iniciales. En el otro se aplican unos pares de control y se observan las variables articulares.
En este primer ejemplo, como ya se ha mencionado antes, no se aplica ningún par y se establecen
unas condiciones iniciales dadas por


En este caso el resultado que se obtiene es el esperado, las variables q
1
, q
2
, q
4
no se ven afectadas
ya que no existe ninguna fuerza que las modifique. La otra variable articular q
3
si se ve afectada ya
que influye la gravedad sobre ella. La variación que experimenta se muestra en la figura 5.3. La
trayectoria articular que sigue es la de caída libre de un cuerpo con una determinada masa.


Figura 5.3: Variación de la variable q
3
ante condiciones iniciales

En el segundo ejemplo de simulación del modelo dinámico se introducen los siguientes pares de
control

Además de las siguientes condiciones iniciales en las variables articulares

Para estos pares las evoluciones interesantes son las de las variables q
1
y q
2
ya que q
3
no se ve
afectada (está desacoplada de las demás). La trayectoria articular que siguen se muestran en la
figura 5.4.


Figura 5.4: Trayectoria articular de las variables q
1
y q
2


Por último cabe destacar que el modelo dinámico del manipulador se puede usar para la simulación
de algoritmos de control del robot así como para la implementación de distintas estrategias de
control.
Existen técnicas de control que usan estimaciones del modelo dinámico y que por sucesivas
iteraciones son capaces de eliminar los errores existentes debido a la estimación de dicho modelo.
Podemos destacar control adaptativo y control con aprendizaje. Otras usan el modelo dinámico del
robot para generar los pares que compensen las desviaciones y que las variables articulares sigan la
trayectoria deseada (par computado).