Вы находитесь на странице: 1из 49

Un paso hacia el

futuro
Javier Sogorb
Índice
• Presentación del problema

• Cinemática del robot


Cinemética directa
Cinemática inversa

• Dinámica del robot


Dinámica directa – Formulación de Newton Euler -
Dinámica inversa – Walker-Orin -

• Selección de servoaccionamientos

• Simulación y control
Objetivo

Diseñar un robot para que sea capaz de


efectuar una perforación en la rótula de un
paciente.

Esta operación se utiliza en osteosíntesis de rodilla, donde se fija un


tornillo distal para evitar que exista movimiento relativo de pivotamiento
entre los dos segmentos del hueso fracturado.
Ventajas de la utilización de un robot

• Posee más precisión de lacon


“Realizamos que éxito
cualquier humanodepuede
un ensayo tele- tener.
medicina satelital con el ISSSTE. Llevamos el
• El robot sostiene
brazoy maneja la cámara,
robótico al lo cual daBelisario
Hospital libertad de tener ambas
manos libres para cortar,
Domínguez deexplorar y suturar Chiapas,
Tuxtla Gutiérrez, al paciente.
y
desde
• el Hospital
Reduce los tiempos 20 de Noviembre
quirúrgicos de muy
en cirugías la Ciudad de
largas.
México un grupo de expertos asesoró a
médicos en Chiapas y controlamos el robot
Cuando han pasado varias horas en una operación el asistente humano se cansa y
desdeEn
comienza a temblar. aquí”
cambio el brazo robótico no se cansa, lo que nos ayuda a
Arturo Minor (UPN Mexico)
realizar el trabajo con más destreza.

Problemas

• La sensibilidad no es la misma. Retroalimentación de fuerzas

• Retardo en las comunicaciones en la tele-medicina vía satélite.


• El extremo del robot debe poder penetrar perpendicularmente a
una esfera centrada en la rodilla del paciente, que será el espacio
de trabajo.

• El peso del robot no debe ser excesivo


El elevado peso propio aumenta la dinámica, lo que reduce la precisión.

• Debe cumplir la normativa de sanidad correspondiente.

• Debe poderse colgar del techo


Características

• El grado de protección del robot cumple la especificación de “Robot de


habitación limpia”.

• El peso del robot es tan sólo de 28 kg, lo cual supone una ventaja frente
a otros robots que realizan la misma tarea y tienen un peso de más de
200 Kg.

• La carga máxima que puede soportar el robot en su efector final es de 5


Kg, lo cual permite añadir la séptima articulación prismática junto con la
broca necesaria para realizar el taladro.

• La precisión del robot es de tan sólo 20 μm, lo que significa que el


máximo error que se puede producir en el posicionamiento del efector
final se encuentra dentro de una circunferencia de radio 20 μm.

• Espacio de trabajo adecuado


Cinemática del
robot
- Cinemática directa
- Cinemática inversa
- Matriz Jacobiana
Problemas de la cinemática
• Problema cinemática directo
Consiste en determinar la posición y orientación del extremo del robot
con respecto a un sistema de coordenadas de referencia, conocidos los
ángulos de las articulaciones y los parámetros geométricos de los
elementos del robot.

• Problema cinemática inverso


Consiste en determinar la configuración que debe adoptar el robot
para una posición y orientación del extremo, conocidas.
Resolución mediante matrices de transformación homogénea
n
0
An  0 A1 1 A2 ..... n 1 An   i 1 Ai
i 1
Utilizando la representación de Denavit - Hartenberg

 C ( ) C ( ) S ( ) S ( ) S ( ) a C ( ) 
 S ( ) C ( ) C ( )  S ( ) C ( ) a S ( ) 
i 1
Ai  R ( z ,  ) T (d ) T (a ) R( x,  )   
 0 S ( ) C ( ) d 
 
 0 0 0 1 
Parámetros DH

Articulación θ d a α
1 q1 -0,335 0,075 -90º
2 q2 0 0,27 0º
3 q3 0 -0,09 90º
4 q4 0,295 0 -90º
5 q5 0 0 90º
6 q6 0,08 0 0º
Utilizando métodos geométricos

Se debe aplicar el principio de Piepper’s para separar:

1. Cálculo de la posición del extremo del robot

Requiere calcular el punto muñeca


r r r
p  pextremo  l6 a

2. Cálculo de la orientación del extremo del robot


Problema de posición: Cálculo de las 3 primeras articulaciones

Articulación 1

R px 2  p y 2

py 
sin q1  
R  q1  arctg
sin q1

px  cos q1
cos q1 
R 
Articulación 2
Codo arriba
r  ( R  a1 ) 2  ( pZ  l1 ) 2

C  a32  l4 2

pZ  l1 
sin   
r sin 
   arctg
q2      cos  
R  a1  cos 
r 
Codo abajo
C 2  a2 2  r 2  2 a2 r cos 

r 2  a2 2  C 2 
cos    sin 
2 a2 r    arctg
 cos 
sin   1  cos 2  
q2    
Articulación 3
Codo arriba Codo abajo

q3  180º    90º   270º     q3  180º (270º   )      90º 

sin  
 a3  r 2  a2 2  C 2  2 a2 C cos 
C  sin 
   arctg
l  cos  C 2  a2 2  r 2 
cos   4 cos  
C   sin 
2 a2 C    arctg
 cos 
sin   1  cos 2  
Problema de orientación: Cálculo de las 3 últimas articulaciones
Articulación 4
Cálculo de A3 0

0
A3  0 A1 1 A2 2 A3 X3, Y3, Z3

 0 si caso degenerado
Z a   1 muñeca abajo 
Z4  M  3 MUÑECA    o y5 si o y5  0
Z3  a  1 muñeca arriba 
 n y5 si o y5  0

M = muñeca · signo(Ω)

sin q4   M ( z4 x3 )  sin q4


 q4  arctg
cos q4  M ( z4 y3 )  cos q4

0
A4 = 0A3 · 3A4 X4, Y4, Z4
Articulación 5

sin q5  a x4  sin q5


 q5  arctg
cos q5  (a y4 )  cos q5

0
A5 = 0A4 · 4A5 X5, Y5, Z5

Articulación 6

sin q6  n y5  sin q6


 q6  arctg
cos q6  s y5  cos q6
Comprobación del código generado

>> q=rand(6,1) >> inversekinematic(T,-1,-1)


q = ans =
0.9501 0.9501
0.2311 0.2311
0.6068 0.6068
0.4860 -2.6556
0.8913 -0.8913
0.7621 -2.3795

>> T = directkinematic6(q) >> inversekinematic6(T,-1,1)


T = ans =
-0.8817 -0.4040 0.2437 0.3085 0.9501
0.1815 0.1862 0.9656 0.4815 0.2311
-0.4355 0.8956 -0.0909 -0.1399 0.6068
0 0 0 1.0000 0.4860
0.8913
0.7621
Transforma las variables de velocidad en el espacio articular en el vector
de estado de velocidad en el espacio cartesiano

X& J q& Jacobiano  det  J (q ) 

Configuraciones singulares
En las inmediaciones de las configuraciones singulares, se pierde alguno de los
grados de libertad del robot, siendo imposible que su extremo se mueva en una
determinada dirección cartesiana

Se distinguen dos tipos:


- Singularidades en los límites del espacio de trabajo

- Singularidades en el interior del espacio de trabajo


Comprobación del código generado

Podemos comprobar que funciona correctamente pasando como parámetro un


vector de coordenadas articulares para el cual el extremo del robot se
encuentra en la frontera de su espacio de trabajo (singularidad externa).
Dinámica del
robot
- Dinámica inversa
- Dinámica directa
Expresa las fuerzas y pares que intervienen en función de la evolución
temporal de las coordenadas articulares. Es decir, consiste en obtener la
fuerza que debe existir en cada articulación prismática y el par, en cada
articulación rotacional, para que el movimiento del elemento terminal se
produzca con las velocidades y aceleraciones deseadas

Utiliza un procedimiento recursivo basado en operaciones vectoriales

1) Primero propaga recursivamente hacia delante la información cinemática

2) A continuación, propaga recursivamente hacia atrás la información de fuerzas


Datos necesarios
1) Masa de cada eslabón

m0  10 Kg m2  5,32 Kg m4  2, 02 Kg m6  1,98 Kg
m1  5,1 Kg m3  3,58 Kg m5  0 Kg mtotal  28 Kg

2) Posición del centro de gravedad de cada eslabón


Datos necesarios
3) Factor de rozamiento articular
 I xx 0 0
4) Matriz de inercia de cada eslabón I 33   0 I yy 0 
 0 0 I zz 

1 1
I xx  m1 R 2  m1 L2  0,19795 kg m 2
4 3

1
I yy  m1 R 2  0, 0143 kg m 2
2

I zz  I xx  0,19795 kg m2

5) Parámetros D-H
Comprobación del código generado

Para verificar que la dinámica


inversa se ha resuelto de forma
correcta, colocamos el robot en
una posición estática concreta
(velocidades y aceleraciones
angulares nulas) y comprobamos
si el valor del par en cada
articulación coincide con el
calculado teóricamente.

1   4   6  0
0, 295  0, 08 
 2  m4 g   m56 g  0, 295   0
2  2 

 2  9, 42986 Nm

 3  9, 42986 Nm

0, 08
 5  m56 g  0
2

0, 08
 5  1,98 9,81   0, 776952 Nm
2
>> q = [0 pi/2 pi 0 0 0];
>> qp = zeros(1,6);
>> qpp = qp;

>> mext = 0;
>> Iext = zeros(3);

>> newtoneuler6(q,qp,qpp,9.81,mext,Iext)
ans =
0.0000
9.4299
9.4299
0.0000
0.7770
0
Se obtienen primero las aceleraciones de las coordenadas articulares con el
método de Walker-Orin y, después, se va integrando para obtener velocidad y
posición.

 &    q&    q
   q&
Método de Walker-Orin

Es un método numérico utilizado para obtener la aceleración de las coordenadas


articulares a partir del vector generalizado de pares.

Para ello, utiliza el algoritmo de Newton-Euler cuando &


q&= 0

B  0  H (q, q&)  C (q )   D(q ) q&


& B & D 1 (q )    B 
q&
Selección de
motores
Peor configuración del robot

  
q 0  0 0 0
 2 

Perfil de velocidades

Articulación 1 2 3 4 5 6

Velocidad 82· π /45 5·π/3 25·π/12 25·π/12 25·π/12 10·π/3


Articulación 1 2 3 4 5 6
τpico 0,93765 1,9809 1,07715 0,01815 0,2322 0,01755
τnominal 0,16965 0,30645 0,0138 0,00765 0,05415 0,00765
Observación

  D(q ) q&
& H (q&)  c(q )
Articulación Nombre motor τpico (mN·m) τnominal (mN·m)
1 RE 40-263070 996 193
2 RE75-118829 3910 930
3 RE30-268214 1070 94,8
4 RE25-118740 131 12
5 RE30-268213 893 73,4
6 RE25-118740 131 12

Motor R(Ω) L(mH) Kr(mNm/A) Kv(V/rad/s) Imáx(A)


RE 40-263070 6,61 1,7 137 0,0697 1,41
RE75-118829 5,44 2,34 443 0,444 2,1
Características RE30-268214 0,582 0,12 25,9 0,02587 4
RE25-118740 0,273 0,03 7,97 0,00796 1,5
RE30-268213 0,401 0,07 19,9 0,03987 4
RE25-118740 0,273 0,03 7,97 0,00796 1,5
Simulación y
control
• Control desacoplado o monoarticular
Se considera que las articulaciones del robot están desacopladas, de modo que
un par en un determinado actuador únicamente tendrá efecto sobre el
movimiento de la articulación correspondiente. De esta forma, existirá un
controlador para cada articulación.

• Control acoplado o multiarticular

Las técnicas de control acoplado consideran el modelo dinámico real del robot.

Elección: Control eje a eje

El control monoarticular únicamente es aceptable cuando el factor de


reducción de los reductores es elevado
El sintonizado de una articulación consiste en ajustar los parámetros
del regulador que actúa sobre ella para que su respuesta cumpla unas
determinadas especificaciones referidas tanto al régimen permanente
como transitorio.
KI
GPID ( s)  K P   K D s
s

1) En primer lugar se aumenta la constante proporcional KP hasta obtener el


tiempo de subida sea el deseado.
2) A continuación se aumenta la constante derivativa KD para disminuir la
sobreoscilación.

3) Por último, se introduce KI para eliminar el error en régimen permanente.


Articulación P I D
1 90 0 1,6
2 500 0 6
3 400 1 10
4 200 0 5,7
5 200 0 5,7
6 30 0 0
El simulador efectúa una planificación de la trayectoria del extremo
del robot en línea recta entre la posición cartesiana inicial y final
especificadas
Referencia Trayectoria real
Análisis de resultados

Al anularse el Jacobiano, un incremento


infinitesimal de las coordenadas cartesianas
supone un incremento infinito de las coordenadas
articulares, lo que en la práctica se traduce en
que en las inmediaciones de las configuraciones
singulares, el pretender que el extremo del robot
se mueva a velocidad constante obligaría a
movimientos de las articulaciones a velocidades
inabordables por sus actuadores.
El simulador efectúa una planificación de la trayectoria del extremo
del robot en línea recta entre la posición articular inicial y final
especificadas
Referencia Trayectoria real
VRML (“Virtual Reality Modeling Language”)
proporciona un método eficiente para
describir todo tipo de objetos y mundos
tridimensionales.

Supongamos que tenemos varias imágenes de


un edificio y un fichero vrml que contiene
datos que describen ese mismo edificio.

Las imágenes sólo muestran una zona


determinada del edificio y todo lo que
podemos hacer con ellas es mirarlas.

En cambio, con el fichero vrml, podemos


observar el edificio desde cualquier punto de
vista e incluso visualizar su interior.
Fi
n

Вам также может понравиться