Introducción
• Cinemática: Estudio del movimiento sin considerar las fuerzas que lo producen
Propiedades geométricas y temporales Posición, velocidad, aceleración, derivadas superiores de la posición, etc.
• Cinemática de los manipuladores: Propiedades geométricas y temporales del movimiento.
Aspecto a resolver• Problema:
A partir de los parámetros geométricos del manipulador.
Especificar: Posición y orientacióndel manipulador.
• Solución: Definir sistemas de referenciaen el manipulador y objetos del entorno siguiendo laNotación de Denavit-Hartenberg (1955).
Los términos enlace/articulación
• Articulación: Conexión de doscuerpos rígidos caracterizadospor el movimiento de un sólidosobre otro.
Grado de libertad: Circular o prismático
• Enlace: Cuerpo rígido que une dos ejes articulares adyacentes del manipulador.
Posee muchos atributos: Peso, material, inercia,etc.
Parámetros de un enlace• Eje articular: Línea en el espacio
alrededor de la cual el enlace i rota referido al enlace i-1
• Longitud del enlace (ai-1): Distancia entre los ejes articulares i e i-1Número de líneas que definen la
longitud:Ejes paralelos: Ejes no paralelos: 1Signo: positivo
• Ángulo del enlace ( αi-1): Ángulo medido entre los ejes articulares i e i-1. Proyección sobre plano
Signo: Regla de la mano derecha
∞perpendicular común
Ejemplo de parámetros
1.- Se colocan los ejes articulares
2.- Longitud del enlace: 7
3.- Ángulo del enlace: 450
Plano
Longitud del enlace
Variables articulares• Desplazamiento del enlace (di):
Distancia medida a lo largo del ejede la articulación i desde el punto donde ai-1 intersecta el eje hasta elpunto donde ai intersecta el eje.
di es variable si la articulación esprismáticadi posee signo
• Ángulo de la articulación (θi):Ángulo entre las perpendiculares comunes ai-1 y aimedido sobre el eje del enlace i.
θi es variable si la articulación esde rotaciónθi posee signo definido por la regla de la mano derecha
Definición de Sistemas de Referencia:Enlaces primero y último
• Sistema de referencia {0}: Sistema que se adjunta a la base del robot. No se mueve.
• El Sistema de referencia {1} coincide con la base.
Enlace(i) a0 y an α0 y αn di θi
Prismática (di) 01 y n 0 0 Rotacional (0) θn
Definición de Sistemas de Referencia:Enlaces intermedios
• Origen del sistema de referencia { i }: Se ubica en el punto creado por la perpendicular de ai y el eje articular i.
• Eje Z: El eje del sistema de referencia { i } se hará coincidir con el eje articular i.
• Eje X: El eje se hace coincidir con la distancia ai desde la articulación i hacia i+1.
• Eje Y: Se define a partir del eje , tomando como referencia la regla de la mano derecha.
iX)
iZ)
1−iY)
iZ)
iX)
iX)
Procedimiento general para la definición de sistemas de referencia
1. Identificar los ejes articulares: De los pasos 2 a 5 utilice dos ejes consecutivos i e i-1.
2. Identifique la perpendicular común: Identifique la línea que se intersecta, perpendicularmente, al eje articular i. Defina el sistema de referencia sobre el punto de intersección.
3. Asigne el eje al eje articular i.4. Asigne el eje a la perpendicular común que definió el origen del
sistema de referencia i.5. Termine de asignar el sistema de referencia, definiendo el eje
según la ley de la mano derecha.6. Haga coincidir los sistemas de referencia {0} y {1} cuando la
primera variable articular sea cero.
iZ)
iX)
iY)
Significado de los parámetros de Denavit-Hartenberg
Los parámetros de DH tienen el siguiente significado:El parámetro es la distancia entre y medida a lo largo de . El parámetro es el ángulo entre y referido a
. El parámetro es la distancia de a ´ medida a lo largo de .El parámetro es el ángulo entre y referido a
. Nota: es la única magnitud positiva, las demás tienen
signo.
ia iZ)
1−iZ)
iX)
iα iZ)
1−iZ)
iX)
id iX)
1−iX)
iZ)
iθ 1−iX)
iX)
iZ)
ia
Transformación homogénea de un enlace
Es el resultado de
Al definir tres sistemas de referencia Intermedios {R}, {Q} y {P}, se tiene:
{R} difiere de i-1 en la rotación
{Q} difiere de {R} por la traslación
{P} difiere de {Q} por la rotación
{i} difiere de {P} por la traslación
1−iα
1−ia
iθ
id
Transformación homogénea de un enlace (II)
Un punto definido en el sistema de referencia {i} proyectado en elsistema de referencia {i-1}responde a
La transformación del sistema de referencia {i} en {i-1} responde a
Concatenar transformaciones homogéneas de enlaces
• Definir el sistema de referencia de los enlaces• Definir los parámetros DH de cada enlace• Calcular la matriz de transformación de cada enlace• Relacionar el sistema {N} sobre el sistema {0}
• Después de medir la posición, usando sensores, de los enlaces; se calcula la posición del efector final
Transformación resultante de todos los enlaces
Ejemplo RRR (II)• Identificar la
perpendicular común entre los ejes de las articulaciones
• Asignar el eje en los ejes articulares
iZ)
10 ZZ))
≡ 2Z)
3Z)
• Identificar el eje de las articulaciones
Ejemplo RRR (III)
• Asignar el eje en la perpendicular común.
iX) • Utilizando la regla de
la mano derecha, asignar el eje .iY
)
Ejemplo RPR
1.- Identificar el eje de las articulaciones
2.- Identificar la perpendicular común al eje de las articulaciones: Ninguna
Ejemplo RPR (II)
• Asignar el eje en los ejes articulares
iZ)
• Si los ejes se intersectan, ubicar de forma que sea normal al plano que contenga los dos ejes, considere además que la variable articular {i} proyectada en {i-1} sea cero en el origen
iZ)
iX)
Ejemplo RPR (III)
iY)• Completar el sistema de
referencia colocando aplicando la regla de la mano derecha
Asignación del sistema de referencia 1
• Posición del robot cuando todas las variables articulares son cero. Hacer coincidir los sistemas de referencia {0} y {1}.
• Asignar el eje en el primer eje articular.
• Asignar el eje a la perpendicular común al eje . Si los ejes se intersectan, asignar a la normal del plano conteniendo los dos ejes.
• Completar el sistema de coordenadas asignando por la regla de la mano derecha
1Z)
1X)
1Z)
1X)
1Y)
2Y)
Asignación del sistemade referencia 2
• Asignar el eje en el segundo eje articular.
• Asignar el eje a la perpendicular común a los ejes articulares 2 y 3.
• Completar el sistema de coordenadas asignando por la regla de la mano derecha
2
32Z)
2X)
2Y)
Asignación del sistemade referencia 3
• Asignar el eje en el tercer eje articular.
• Asignar el eje a la perpendicular común a los ejes articulares 3 y 4 o normal al plano.
• Completar el sistema asignando por la regla de la mano derecha
3
4
3Z)
3X)
3Y)
Asignación del sistemade referencia 4
• Asignar el eje en el cuarto eje articular.
• Asignar el eje a la perpendicular común a los ejes articulares 4 y 5 o normal al plano.
• Completar el sistemaasignando por la regla de la mano derecha
4Z)
4X)
4Y)
Asignación del sistemade referencia 5
• Asignar el eje en el quinto eje articular.
• Asignar el eje a la perpendicular común a los ejes articulares 4 y 5 o normal al plano.
• Completar el sistema asignando por la regla de la mano derecha
5Y)
5X)
5Z)
Asignación del sistemade referencia 6 {N}
• Asignar el eje en el sexto eje articular.
• Seleccione libremente el ejeconsiderando que sean cero la mayor cantidad de parámetros DH.
• Completar el sistema asignando por la regla de la mano derecha
6Z)
6X)
6Y)
Cinemática directa• Cinemática directa:
Se conocen las variables articulares de una cadena de enlaces de un brazo articuladoCálculo sencillo (multiplicación matricial)Una única solución: PTP N
N00 =
Cinemática inversa
• Cinemática inversa:Problema difícil de resolver: Obtener los valores de las variables articulares para que el órgano terminal tenga una determinada posición y orientaciónSe deben resolver un conjunto de ecuaciones algebraicas no lineales simultáneas
Problemas fundamentales:Ecuaciones no lineales (sen, cos en matrices de rotación)Existen múltiples solucionesEs posible que no exista una soluciónSingularidades.
Espacio alcanzable
EsféricoCilíndricoCartesiano
Scara
Espacio alcanzable:Volumen del espacio que el robot puede alcanzar con al menos unaorientación Antropomórfico
Existencia de múltiple soluciones
Deben atenderse las múltiples soluciones:
Elección que minimice los movimientos desde la posiciónactual
Concepto de solución másCercana
Mover los eslabones de menorpeso
Considerar obstáculos (evitarcolisiones)
Obstáculo
Método de resolución• Manipulador resoluble: Existe un algoritmo que
permite determinar todas las soluciones del modelo inverso (variables articulares) asociadas a una determinada posición y orientación.
• Teóricamente es resoluble: todo sistema R y P con 6 grados de libertad.
• Métodos numéricos iterativos: lentitud.• Se prefieren expresiones analíticas (soluciones
cerradas):Métodos algebraicosMétodos geométricos
¿Porqué la cinemática inversa?
• Métodos de programación:Programación por guiado: Desplazamiento del efector final para que se alcancen las configuraciones deseadas, registrándose los valores (digitalización de posiciones).Programación textual: Programa de ordenador donde existen órdenes para especificar los movimientos del robot, acceder a información de sensores, etc.
Cinemática directa vs inversa• Cinemática directa
Conocidos: Ángulos articulares ygeometría de los eslabonesDeterminar: Posición y orientacióndel elemento terminal referido a la base
• Cinemática inversaConocidos: Posición y orientacióndel elemento terminal referido a la baseDeterminar: Ángulos articulares ygeometría de los eslabones para alcanzarla orientación y posición de la herramienta
TTf NBH
0)( ==θ
)()( 011 TfTf NB
H−− ==θ
{Herramienta}
{Base}
Número de soluciones• Se desea: Posicionar el elemento
terminal en un punto del plano
• Número de GDL del manipulador= Número de GDL que requiere la tarea
Dos soluciones
• Número de GDL del manipulador> Número de GDL que requiere la tarea
Infinitas soluciones
Tipos de solución• Solución: Conjunto de variables articulares que permiten
posicionar el elemento terminal en una determinada posición y orientación
• No existen algoritmos generales de solución al problema de cinemática inversa
• Tipos de solución:Soluciones cerradas:
Solución algebraica: Ecuaciones no lineales trigonométricasSolución geométrica: Conjunto de subproblemas geométricos en el plano
Soluciones numéricas (iterativas): No aplicables en tiempo real
Ejemplo de solución geométrica (I)
• Se conoce:Geometría del manipuladorPunto objetivo: Posición (x e y) y orientación del elemento terminal en el espacio
• Problema: Determinar las variables articulares ( )
θ
1θ 2θ 3θ
θ
x
y
Algunas identidades trigonométricas
• Ley de los cosenos para un triángulo general
• Suma de ángulos:
• Identidades: )cos()cos( θθ −=
)cos()cos( θθ +=− pipi
Ejemplo de solución geométrica (II)
• La orientación del último eslabón es la suma de las variables articulares
θ
x
y
θ
321 θθθθ ++=
Ejemplo de solución geométrica (III)
• Cálculo de :
• Aplicando la ley de los cosenos:
• Debido a que
• Resulta:
2θ
Ejemplo de solución geométrica (IV)
• Se debe verificar la solución del algoritmo, el cual debe cumplir:
• Espacio alcanzable
• Intervalo de la solución
Espacio alcanzable
2θ
Ejemplo de solución geométrica (V)
• Si se definen dos ángulos se cumple
El ángulo se calcula:
Y aplicando ley de los cosenos
ψβθ −=1
22)(
yx
ysen+
=β
β
Control basado en cinemática inversa (I)
Sección de código de la función invsurf.m:
for i = 1:length(r),for j = 1:length(theta),
xx = r(i)*cos(theta(j)); Cinemática directayy = r(i)*sin(theta(j));c2 = (xx^2 + yy^2 - l1^2 - l2^2)/(2*l1*l2);c2 = min(max(c2, -1), 1);s2 = sqrt(1 - c2^2);th2(i, j) = atan2(s2, c2);
k1 = l1 + l2*c2;k2 = l2*s2;th1(i, j) = atan2(yy, xx) - atan2(k2, k1);
endend
Condiciones iniciales:
l1 = 10;l2 = 7;point = 21;
r = linspace(l1-l2, l1+l2, point);theta = linspace(0, 2*pi, 2*point);
Control basado en cinemática inversa (III)
Modelo del brazo articulado de dos grados de libertad
x
y
1θ
2θ
x
1θ
y2θ
x
Control basado en cinemática inversa (IV)
Modelo del brazo articulado de dos grados de libertad
x
y
1θ
2θ
Modelo inverso del brazo articulado
xd
yd
Control basado en cinemática inversa (V)
for i = 1:length(x),for j = 1:length(y),
xx = x(i);yy = y(j);c2 = (xx^2 + yy^2 - l1^2 - l2^2)/(2*l1*l2);s2 = sqrt(1 - c2^2);th2(i, j) = atan2(s2, c2);k1 = l1 + l2*c2;k2 = l2*s2;th1(i, j) = atan2(yy, xx) - atan2(k2, k1);if abs(c2) < 1;
data1(data_n, :) = [xx yy th1(i, j)];data2(data_n, :) = [xx yy th2(i, j)];data_n = data_n + 1;
endend
endinvkine1 = data1(1:data_n, :);invkine2 = data2(1:data_n, :);
⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢
⎣
⎡
nnn yx
yxyx
1
1222
1111
;..
;;
θ
θθ
invkine1
invkine2
⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢
⎣
⎡
nnn yx
yxyx
2
2222
2111
;..
;;
θ
θθ
Matrices inversas
Control basado en cinemática inversa (VI)
Obtención del modelo inverso
Sistema borroso 1: fismat1• [fismat1, error1] = anfis(invkine1, 3, [50, 0, 0.2]);• writefis(fismat1, 'invkine1.fis');
% WRITEFIS (FISMAT,'filename')
Sistema borroso 2: fismat2• [fismat2, error2] = anfis(invkine2, 3, [50, 0, 0.2]);• writefis(fismat2, 'invkine2.fis');
),(11 yxf −=θ
),(12 yxf −=θ
Control basado en cinemática inversa (VI)
En el programa invkine.m:fismat1 = readfis('invkine1');fismat2 = readfis('invkine2');
Modelo del brazo articulado de dos grados de libertad
x1θ
2θ
theta1 = evalfis([x, y], fismat1);
y
xd
yd
theta2 = evalfis([x, y], fismat2);
Top Related