elber
DESCRIPTION
holaTRANSCRIPT
![Page 1: Elber](https://reader034.vdocuments.co/reader034/viewer/2022042816/55946fdb1a28aba60e8b4651/html5/thumbnails/1.jpg)
Un paso hacia el futuro
Javier Sogorb
![Page 2: Elber](https://reader034.vdocuments.co/reader034/viewer/2022042816/55946fdb1a28aba60e8b4651/html5/thumbnails/2.jpg)
Índice• Presentación del problema
• Cinemática del robotCinemética directaCinemática inversa
• Dinámica del robotDinámica directa – Formulación de Newton Euler -Dinámica inversa – Walker-Orin -
• Selección de servoaccionamientos
• Simulación y control
![Page 3: Elber](https://reader034.vdocuments.co/reader034/viewer/2022042816/55946fdb1a28aba60e8b4651/html5/thumbnails/3.jpg)
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.
Objetivo
![Page 4: Elber](https://reader034.vdocuments.co/reader034/viewer/2022042816/55946fdb1a28aba60e8b4651/html5/thumbnails/4.jpg)
Ventajas de la utilización de un robot
• Posee más precisión de la que cualquier humano puede tener.
• El robot sostiene y maneja la cámara, lo cual da libertad de tener ambas manos libres para cortar, explorar y suturar al paciente.
• Reduce los tiempos quirúrgicos en cirugías muy largas.
Cuando han pasado varias horas en una operación el asistente humano se cansa y comienza a temblar. En cambio el brazo robótico no se cansa, lo que nos ayuda a realizar el trabajo con más destreza.
Problemas
• La sensibilidad no es la misma.
• Retardo en las comunicaciones en la tele-medicina vía satélite.
Retroalimentación de fuerzas
“Realizamos con éxito un ensayo de tele-medicina satelital con el ISSSTE. Llevamos elbrazo robótico al Hospital Belisario Domínguez de Tuxtla Gutiérrez, Chiapas, y desdeel Hospital 20 de Noviembre de la Ciudad de México un grupo de expertos asesoró amédicos en Chiapas y controlamos el robot desde aquí”
Arturo Minor (UPN Mexico)
![Page 5: Elber](https://reader034.vdocuments.co/reader034/viewer/2022042816/55946fdb1a28aba60e8b4651/html5/thumbnails/5.jpg)
• 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
![Page 6: Elber](https://reader034.vdocuments.co/reader034/viewer/2022042816/55946fdb1a28aba60e8b4651/html5/thumbnails/6.jpg)
![Page 7: Elber](https://reader034.vdocuments.co/reader034/viewer/2022042816/55946fdb1a28aba60e8b4651/html5/thumbnails/7.jpg)
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
![Page 8: Elber](https://reader034.vdocuments.co/reader034/viewer/2022042816/55946fdb1a28aba60e8b4651/html5/thumbnails/8.jpg)
Cinemática del robot- Cinemática directa
- Cinemática inversa
- Matriz Jacobiana
![Page 9: Elber](https://reader034.vdocuments.co/reader034/viewer/2022042816/55946fdb1a28aba60e8b4651/html5/thumbnails/9.jpg)
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.
![Page 10: Elber](https://reader034.vdocuments.co/reader034/viewer/2022042816/55946fdb1a28aba60e8b4651/html5/thumbnails/10.jpg)
Resolución mediante matrices de transformación homogénea
0 0 1 1 11 2
1
.....n
n in n i
i
A A A A A− −
=
= ⋅ ⋅ ⋅ = ∏Utilizando la representación de Denavit - Hartenberg
1
( ) ( ) ( ) ( ) ( ) ( )
( ) ( ) ( ) ( ) ( ) ( )( , ) ( ) ( ) ( , )
0 ( ) ( )
0 0 0 1
ii
C C S S S a C
S C C S C a SA R z T d T a R x
S C d
θ α θ α θ θθ α θ α θ θ
θ αα α
−
− ⋅ ⋅ ⋅ ⋅ − ⋅ ⋅ = ⋅ ⋅ ⋅ =
![Page 11: Elber](https://reader034.vdocuments.co/reader034/viewer/2022042816/55946fdb1a28aba60e8b4651/html5/thumbnails/11.jpg)
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º
Parámetros DH
![Page 12: Elber](https://reader034.vdocuments.co/reader034/viewer/2022042816/55946fdb1a28aba60e8b4651/html5/thumbnails/12.jpg)
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
2. Cálculo de la orientación del extremo del robot
Requiere calcular el punto muñeca
6extremop p l a= − ⋅r r r
![Page 13: Elber](https://reader034.vdocuments.co/reader034/viewer/2022042816/55946fdb1a28aba60e8b4651/html5/thumbnails/13.jpg)
Problema de posición: Cálculo de las 3 primeras articulaciones
2 2
11
11
1
sin sin
cos
cos
x y
y
x
R p p
pq
qR q arctgqp
qR
= +
= =
=
Articulación 1
![Page 14: Elber](https://reader034.vdocuments.co/reader034/viewer/2022042816/55946fdb1a28aba60e8b4651/html5/thumbnails/14.jpg)
Articulación 2Codo arriba
Codo abajo
2 21 1
2 23 4
1
1
( ) ( )
sin sin
cos
cos
Z
Z
r R a p l
C a l
p l
r arctgR a
r
α αααα
= − + −
= +
− = =− =
2 2 22 22 cosC a r a r β= + − ⋅ ⋅ ⋅
2 2 22
2
2
cos sin2 cos
sin 1 cos
r a C
a r arctgβ ββ
ββ β
+ −= ⋅ ⋅ == −
2q β α= −
2q β α= − −
![Page 15: Elber](https://reader034.vdocuments.co/reader034/viewer/2022042816/55946fdb1a28aba60e8b4651/html5/thumbnails/15.jpg)
Articulación 3Codo arriba Codo abajo
3
4
sin sin
cos
cos
a
C arctgl
C
φ φφφφ
− = ==
2 2 22 22 cosr a C a C β= + − ⋅ ⋅ ⋅
2 2 22
2
2
cos sin2 cos
sin 1 cos
C a r
a C arctgβ ββ
ββ β
+ −= ⋅ ⋅ == −
3 180º (270º ) 90ºq β φ β φ= − − + = − +3 180º 90º 270ºq β φ β φ= − + + = − +
![Page 16: Elber](https://reader034.vdocuments.co/reader034/viewer/2022042816/55946fdb1a28aba60e8b4651/html5/thumbnails/16.jpg)
Articulación 4Cálculo de 0A3
0 0 1 23 1 2 3A A A A= ⋅ ⋅ X3, Y3, Z3
34
3
Z aZ M
Z a
×= ⋅× 5 5
5 5
0 si caso degenerado 1 muñeca abajo
si 0 1 muñeca arriba
si 0
MUÑECA o y o y
n y o y
+ = Ω = ⋅ ⋅ ≠ − ⋅ ⋅ =
M = muñeca · signo(Ω)
4 4 3 44
4 4 3 4
sin ( ) sin
cos ( ) cos
q M z x qq arctg
q M z y q
= − ⋅ ⋅ == ⋅ ⋅
0A4 = 0A3 · 3A4 X4, Y4, Z4
Problema de orientación: Cálculo de las 3 últimas articulaciones
![Page 17: Elber](https://reader034.vdocuments.co/reader034/viewer/2022042816/55946fdb1a28aba60e8b4651/html5/thumbnails/17.jpg)
Articulación 5
Articulación 6
5 4 55
5 4 5
sin sin
cos ( ) cos
q a x qq arctg
q a y q
= ⋅ == − ⋅
6 5 66
6 5 6
sin sin
cos cos
q n y qq arctg
q s y q
= ⋅ == ⋅
0A5 = 0A4 · 4A5 X5, Y5, Z5
![Page 18: Elber](https://reader034.vdocuments.co/reader034/viewer/2022042816/55946fdb1a28aba60e8b4651/html5/thumbnails/18.jpg)
>> q=rand(6,1)q = 0.9501 0.2311 0.6068 0.4860 0.8913 0.7621
>> T = directkinematic6(q)T = -0.8817 -0.4040 0.2437 0.3085 0.1815 0.1862 0.9656 0.4815 -0.4355 0.8956 -0.0909 -0.1399 0 0 0 1.0000
>> inversekinematic(T,-1,-1)ans = 0.9501 0.2311 0.6068 -2.6556 -0.8913 -2.3795
>> inversekinematic6(T,-1,1)ans = 0.9501 0.2311 0.6068 0.4860 0.8913 0.7621
Comprobación del código generado
![Page 19: Elber](https://reader034.vdocuments.co/reader034/viewer/2022042816/55946fdb1a28aba60e8b4651/html5/thumbnails/19.jpg)
X J q= ⋅& &
Transforma las variables de velocidad en el espacio articular en el vector de estado de velocidad en el espacio cartesiano
[ ]det ( )Jacobiano 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
![Page 20: Elber](https://reader034.vdocuments.co/reader034/viewer/2022042816/55946fdb1a28aba60e8b4651/html5/thumbnails/20.jpg)
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).
![Page 21: Elber](https://reader034.vdocuments.co/reader034/viewer/2022042816/55946fdb1a28aba60e8b4651/html5/thumbnails/21.jpg)
Dinámica del robot- Dinámica inversa
- Dinámica directa
![Page 22: Elber](https://reader034.vdocuments.co/reader034/viewer/2022042816/55946fdb1a28aba60e8b4651/html5/thumbnails/22.jpg)
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
![Page 23: Elber](https://reader034.vdocuments.co/reader034/viewer/2022042816/55946fdb1a28aba60e8b4651/html5/thumbnails/23.jpg)
Datos necesarios
0 2 4 6
1 3 5
10 5,32 2,02 1,98
5,1 3,58 0 28 total
m Kg m Kg m Kg m Kg
m Kg m Kg m Kg m Kg
= = = == = = =
1) Masa de cada eslabón
2) Posición del centro de gravedad de cada eslabón
![Page 24: Elber](https://reader034.vdocuments.co/reader034/viewer/2022042816/55946fdb1a28aba60e8b4651/html5/thumbnails/24.jpg)
Datos necesarios
3) Factor de rozamiento articular
4) Matriz de inercia de cada eslabón 3 3
0 0
0 0
0 0
xx
yy
zz
I
I I
I×
=
5) Parámetros D-H
2 2 21 1
2 21
2
1 10,19795
4 3
10,0143
2
0,19795
xx
yy
zz xx
I m R m L kg m
I m R kg m
I I kg m
= ⋅ ⋅ + ⋅ ⋅ = ⋅
= ⋅ ⋅ = ⋅
= = ⋅
![Page 25: Elber](https://reader034.vdocuments.co/reader034/viewer/2022042816/55946fdb1a28aba60e8b4651/html5/thumbnails/25.jpg)
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τ τ τ= = =
![Page 26: Elber](https://reader034.vdocuments.co/reader034/viewer/2022042816/55946fdb1a28aba60e8b4651/html5/thumbnails/26.jpg)
2 4 56
0, 295 0,080,295 0
2 2m g m gτ − ⋅ ⋅ − ⋅ ⋅ + =
2 9,42986 Nmτ =
3 9, 42986 Nmτ =
5 56
0,080
2m gτ − ⋅ ⋅ =
5
0,081,98 9,81 0,776952
2Nmτ = ⋅ ⋅ =
![Page 27: Elber](https://reader034.vdocuments.co/reader034/viewer/2022042816/55946fdb1a28aba60e8b4651/html5/thumbnails/27.jpg)
>> 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
![Page 28: Elber](https://reader034.vdocuments.co/reader034/viewer/2022042816/55946fdb1a28aba60e8b4651/html5/thumbnails/28.jpg)
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&&
0 ( , ) ( )B H q q C q= + +& ( )D q q Bτ = ⋅ +&& [ ]1( )q D q Bτ−= ⋅ −&&
![Page 29: Elber](https://reader034.vdocuments.co/reader034/viewer/2022042816/55946fdb1a28aba60e8b4651/html5/thumbnails/29.jpg)
Selección de motores
![Page 30: Elber](https://reader034.vdocuments.co/reader034/viewer/2022042816/55946fdb1a28aba60e8b4651/html5/thumbnails/30.jpg)
Peor configuración del robot
0 0 0 02
qππ =
Articulación 1 2 3 4 5 6
Velocidad 82· π /45 5·π/3 25·π/12 25·π/12 25·π/12 10·π/3
Perfil de velocidades
![Page 31: Elber](https://reader034.vdocuments.co/reader034/viewer/2022042816/55946fdb1a28aba60e8b4651/html5/thumbnails/31.jpg)
![Page 32: Elber](https://reader034.vdocuments.co/reader034/viewer/2022042816/55946fdb1a28aba60e8b4651/html5/thumbnails/32.jpg)
![Page 33: Elber](https://reader034.vdocuments.co/reader034/viewer/2022042816/55946fdb1a28aba60e8b4651/html5/thumbnails/33.jpg)
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
![Page 34: Elber](https://reader034.vdocuments.co/reader034/viewer/2022042816/55946fdb1a28aba60e8b4651/html5/thumbnails/34.jpg)
Observación
( ) ( ) ( )D q q H q c qτ = ⋅ + +&& &
![Page 35: Elber](https://reader034.vdocuments.co/reader034/viewer/2022042816/55946fdb1a28aba60e8b4651/html5/thumbnails/35.jpg)
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
![Page 36: Elber](https://reader034.vdocuments.co/reader034/viewer/2022042816/55946fdb1a28aba60e8b4651/html5/thumbnails/36.jpg)
Simulación y control
![Page 37: Elber](https://reader034.vdocuments.co/reader034/viewer/2022042816/55946fdb1a28aba60e8b4651/html5/thumbnails/37.jpg)
• 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.
El control monoarticular únicamente es aceptable cuando el factor de reducción de los reductores es elevado
Elección: Control eje a eje
![Page 38: Elber](https://reader034.vdocuments.co/reader034/viewer/2022042816/55946fdb1a28aba60e8b4651/html5/thumbnails/38.jpg)
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.
( ) IPID P D
KG s K K 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.
![Page 39: Elber](https://reader034.vdocuments.co/reader034/viewer/2022042816/55946fdb1a28aba60e8b4651/html5/thumbnails/39.jpg)
![Page 40: Elber](https://reader034.vdocuments.co/reader034/viewer/2022042816/55946fdb1a28aba60e8b4651/html5/thumbnails/40.jpg)
![Page 41: Elber](https://reader034.vdocuments.co/reader034/viewer/2022042816/55946fdb1a28aba60e8b4651/html5/thumbnails/41.jpg)
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
![Page 42: Elber](https://reader034.vdocuments.co/reader034/viewer/2022042816/55946fdb1a28aba60e8b4651/html5/thumbnails/42.jpg)
![Page 43: Elber](https://reader034.vdocuments.co/reader034/viewer/2022042816/55946fdb1a28aba60e8b4651/html5/thumbnails/43.jpg)
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
![Page 44: Elber](https://reader034.vdocuments.co/reader034/viewer/2022042816/55946fdb1a28aba60e8b4651/html5/thumbnails/44.jpg)
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.
![Page 45: Elber](https://reader034.vdocuments.co/reader034/viewer/2022042816/55946fdb1a28aba60e8b4651/html5/thumbnails/45.jpg)
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
![Page 46: Elber](https://reader034.vdocuments.co/reader034/viewer/2022042816/55946fdb1a28aba60e8b4651/html5/thumbnails/46.jpg)
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.
![Page 47: Elber](https://reader034.vdocuments.co/reader034/viewer/2022042816/55946fdb1a28aba60e8b4651/html5/thumbnails/47.jpg)
![Page 48: Elber](https://reader034.vdocuments.co/reader034/viewer/2022042816/55946fdb1a28aba60e8b4651/html5/thumbnails/48.jpg)
![Page 49: Elber](https://reader034.vdocuments.co/reader034/viewer/2022042816/55946fdb1a28aba60e8b4651/html5/thumbnails/49.jpg)
Fin