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 que éxito cualquier humanodepuede “Realizamos un ensayo tele- tener.
medicina satelital con el ISSSTE. Llevamos el brazoy maneja robótico al Hospital El robot sostiene la cámara, lo cual daBelisario libertad de tener ambas manos libres para cortar, y suturar Chiapas, al paciente. Domínguez deexplorar Tuxtla Gutiérrez, y desde el Hospital 20 de Noviembre de muy la Ciudad de Reduce los tiempos quirúrgicos en cirugías 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 aquí” comienza a temblar. 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 - Cinemática directa robot - 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 0
n
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 1 0
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 R px cos q1 R sin q1
q1 arctg
sin q1 cos q1
Codo arriba
Articulación 2 r ( R a1 ) 2 ( pZ l1 ) 2 C a32 l4 2 pZ l1 r R a1 cos r
sin
q2
arctg
sin cos
Codo abajo
C 2 a2 2 r 2 2 a2 r cos r 2 a2 2 C 2 cos 2 a2 r
q2
sin 1 cos 2
arctg
sin cos
Articulación 3
Codo arriba
Codo abajo
q3 180º 90º 270º a3 C l cos 4 C
sin
arctg
sin cos
q3 180º (270º ) 90º r 2 a2 2 C 2 2 a2 C cos C 2 a2 2 r 2 cos 2 a2 C sin 1 cos 2
arctg
sin cos
Problema de orientación: Cálculo de las 3 últimas articulaciones Articulación 4
Cálculo de A3 0
0
X3, Y3, Z3
A3 0 A1 1 A2 2 A3
Z a Z4 M 3 Z3 a
1 muñeca abajo MUÑECA 1 muñeca arriba
0 si caso degenerado o y5 si o y5 0 n y5 si o y5 0
M = muñeca · signo(Ω) sin q4 M ( z4 x3 ) cos q4 M ( z4 y3 ) 0
A4 = 0A3 · 3A4
q4 arctg
sin q4 cos q4
X4, Y4, Z4
Articulación 5 sin q5 a x4 cos q5 (a y4 ) 0
q5 arctg
A5 = 0A4 · 4A5
sin q5 cos q5
X5, Y5, Z5
Articulación 6
sin q6 n y5 cos q6 s y5
q6 arctg
sin q6 cos q6
Comprobación del código generado >> q=rand(6,1) q = 0.9501 0.2311 0.6068 0.4860 0.8913 0.7621
>> inversekinematic(T,-1,-1) ans = 0.9501 0.2311 0.6068 -2.6556 -0.8913 -2.3795
>> T = directkinematic6(q) T = -0.8817 -0.4040 0.2437 0.1815 0.1862 0.9656 -0.4355 0.8956 -0.0909 0 0 0
>> inversekinematic6(T,-1,1) ans = 0.9501 0.2311 0.6068 0.4860 0.8913 0.7621
0.3085 0.4815 -0.1399 1.0000
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 - Dinámica inversa robot - 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 4) Matriz de inercia de cada eslabón
I xx
I 33
I xx 0 0
0 I yy 0
1 1 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
0 0 I zz
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
B 0 H (q, q&) C (q )
& B D(q ) q&
& q&= 0
& 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
& H (q&) c(q ) D(q ) q&
Características
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
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. GPID ( s) K P
KI 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