Está en la página 1de 24

UNIVERSIDAD DEL BIO-BIO

FACULTAD DE INGENIERÍA
DEPARTAMENTO DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA

Tarea 1
Robótica industrial 410328

Modelo diferencial.

Integrantes: - Pablo I. Matamala E.


- Matías A. Max P
- Cristofer A. Millalaf B.
- Blas A. Pereira B.

Profesor: Ángel E. Rubio R.


UNIVERSIDAD DEL BÍO BÍO
FACULTAD DE INGENIERÍA
DEPARTAMENTO DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA

ÍNDICE DE CONTENIDOS
1 Desarrolle la cinemática directa con DH. ............................................................................................. 5
1.1 Asignacion de sistemas coordenados............................................................................................ 5
1.2 Tabla de DH. ................................................................................................................................ 6
1.3 Programe la cinemática directa según DH en Matlab como una función. .................................... 6
1.4 Programe la representación gráfica del robot. .............................................................................. 6
2 Desarrolle la cinemática inversa del robot............................................................................................ 7
2.1 Posicionamiento de muñeca. ........................................................................................................ 7
2.2 Orientación de la muñeca. ............................................................................................................ 8
2.3 Programe la cinemática inversa como una función. ................................................................... 11
3 Matriz jacobiana geométrica y analítica. ............................................................................................ 12
3.1.1 Matriz Jacobiana geométrica. ............................................................................................. 12
3.1.2 Matriz Jacobiana analítica. ................................................................................................. 13
4 Ecuación del Jacobiano y puntos singulares....................................................................................... 15
4.1 Ecuación del Jacobiano. ............................................................................................................. 15
4.2 Puntos Singulares. ...................................................................................................................... 15
5 Test de jacobiana directa. ................................................................................................................... 16
6 Test de jacobiana inversa lejos de un punto singular. ........................................................................ 19
7 Test de jacobiana inversa próximo a un punto singular. .................................................................... 22
UNIVERSIDAD DEL BÍO BÍO
FACULTAD DE INGENIERÍA
DEPARTAMENTO DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA

Índice de Figuras
Fig. 1 Estructura robótica estudiada. ............................................................................................................ 5
Fig. 1.1.1 Estructura robótica estudiada. ...................................................................................................... 5
Fig. 1.4.1 Representación gráfica del robot. ................................................................................................. 6
Fig. 2.1.1 Esquema 1 para el posicionamiento de la muñeca. ...................................................................... 7
Fig. 2.1.2 Esquema 2 para el posicionamiento de la muñeca. ...................................................................... 7
Fig. 2.2.1 vectores de posición ..................................................................................................................... 9
Fig. 2.2.2 Matriz de orientación R36. ......................................................................................................... 10
Fig. 2.3.1 Coordenadas para el estado inicial del robot. ............................................................................. 11
Fig. 5.1 Robot 3D. ...................................................................................................................................... 16
Fig. 5.2 Posiciones y velocidades articulares de q1,q2 y q3....................................................................... 17
Fig. 5.3 Posiciones y velocidades articulares de q4, q5 y q6...................................................................... 17
Fig. 5.4 Posiciones y velocidades lineales espaciales (x, y, z). .................................................................. 18
Fig. 5.5 Posiciones y velocidades angulares espaciales (x, y, z). ............................................................... 18
Fig. 6.1 Robot 3D, lejano al punto singular. ............................................................................................... 19
Fig. 6.2 Posiciones y velocidades articulares de q1,q2 y q3....................................................................... 20
Fig. 6.3 Posiciones y velocidades articulares de q4, q5 y q6...................................................................... 20
Fig. 6.4 Posiciones y velocidades lineales espaciales (x, y, z). .................................................................. 21
Fig. 6.5 Posiciones y velocidades angulares espaciales (x, y, z). ............................................................... 21
Fig. 7.1 Robot 3D, cercano al punto singular. ............................................................................................ 22
Fig. 7.2 Posiciones y velocidades articulares de q1,q2 y q3....................................................................... 22
Fig. 7.3 Posiciones y velocidades articulares de q4, q5 y q6...................................................................... 23
Fig. 7.4 Posiciones y velocidades lineales espaciales (x, y, z). .................................................................. 23
Fig. 7.5 Posiciones y velocidades angulares espaciales (x, y, z). ............................................................... 24
UNIVERSIDAD DEL BÍO BÍO
FACULTAD DE INGENIERÍA
DEPARTAMENTO DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA

Índice de Tablas
Tabla 1.2.1 Denavit de Hartenberg ............................................................................................................... 6
UNIVERSIDAD DEL BÍO BÍO
FACULTAD DE INGENIERÍA
DEPARTAMENTO DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA

El presenta trabajo final se desarrolla en base a la siguiente estructura robótica:

Fig. 1 Estructura robótica estudiada.

1 Desarrolle la cinemática directa con DH.

1.1 Asignacion de sistemas coordenados.

A5
A4
Y1 Y6
Y3 E4 A6
E1 A2 A3
Y4
Z1 X1 Z3 Z6
E2 E3 X4
X3 Z4 E5
Y2 Y5 X6
A1
Z0
Y0
Z5
E0 Z2
X0
X2 X5

Fig. 1.1.1 Estructura robótica estudiada.


UNIVERSIDAD DEL BÍO BÍO
FACULTAD DE INGENIERÍA
DEPARTAMENTO DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA

1.2 Tabla de DH.


Tabla 1.2.1 Denavit de Hartenberg
Eslabón θi di ai αi

1 q1 L1 0 90

2 q2-90 0 0 -90

3 0 q3+L2 0 0

4 q4 L3 0 90

5 q5 0 0 -90

6 q6 L4 0 0

1.3 Programe la cinemática directa según DH en Matlab como una función.

La programación de esta sección se encuentra en el archivo adjunto, para utilizarla debe ingresar los
valores de los GDL al vector Coord_Art_dadas que se encuentra en la línea de código 16, este es ingresado
a la función “CDDH” (línea de código 95), que desarrolla la cinemática directa y arroja como resultado la
posición y orientación de la herramienta con respecto a la base.

1.4 Programe la representación gráfica del robot.

Fig. 1.4.1 Representación gráfica del robot.


Esta representación se obtiene a partir de las coordenadas articulares que usted ingrese en el vector
Coord_Art_dadas, el que es utilizado por una función denominada robot en la línea de código 132, en
caso de requerir el estado inicial todos deben estar en cero.
UNIVERSIDAD DEL BÍO BÍO
FACULTAD DE INGENIERÍA
DEPARTAMENTO DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA

2 Desarrolle la cinemática inversa del robot.


2.1 Posicionamiento de muñeca.

Posicionamiento de la muñeca del robot, en función de la posición donde es necesario que se encuentre
la herramienta del artefacto.

Z0
pz
Y0
X0 r px
py

q1

Fig. 2.1.1 Esquema 1 para el posicionamiento de la muñeca.


En este caso se utilizará el método de funciones trigonométricas para determinar las ecuaciones que
permiten obtener los primeros tres GDL, con tal de posicionar la muñeca en función de donde se desee que
se posicione la herramienta.
Proyectando px y py al nivel donde se encuentra q1 se establece la siguiente relación matemática para
su determinación:
 py 
q1 = arc tan   (1.1)
 px 
Además, utilizando Pitágoras se extrae que:
r 2 = py 2 + px2 (1.2)

pz

q2
r
Fig. 2.1.2 Esquema 2 para el posicionamiento de la muñeca.
UNIVERSIDAD DEL BÍO BÍO
FACULTAD DE INGENIERÍA
DEPARTAMENTO DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA

Del esquema presentado en Fig. 2.1.2, es posible obtener los dos grados de libertad faltantes, para q3
simplemente se considera el uso de Pitágoras de la siguiente manera,

q3 + l 3 + l 2 = pz 2 + r 2
(1.3)
q3 = px 2 + py 2 + pz 2 − l 3 − l 2

q2 es obtenido a partir del seno y su relación con el coseno.

pz
sin ( q 2 ) =
l 2 + q3 + l 3
cos ( q 2 ) = 1 − sin ( q 2 ) (1.4)
 sin ( q 2 ) 
 q 2 = arctan  
 cos ( q 2 ) 
Finalmente, se han establecido las formas de calcular los tres primeros grados de libertad del robot, y
con esto posicionar la muñeca según px, py y pz, que más adelante será obtenido a partir de la posición de
la herramienta. Sin embargo, dadas las formas de obtener los GDL presentes, ocurren algunas restricciones
o apreciaciones, las cuales se exponen a continuación:

➢ Para q2, este solo podrá variar entre ± 89, no podrá tomar el valor de ±90°, dado que al hacerlo
genera que los ejes px y py sean de valor cero, esto provoca que la magnitud de la articulación uno
se fije en cero y no tome ningún valor asignado, ya que su cálculo trigonométrico depende de estas
dos variables únicamente. Además, no puede tomar valores en los cuadrantes 2 y 3, ya que afecta
igualmente a la percepción de los cuadrantes en que se encuentran otros GDL, sin embargo, a pesar
de esta restricción, el robot podrá trabajar en prácticamente toda el área que puede alcanzar, ya que
q1 es libre en 360°.
➢ Para q3, ya que es una articulación prismática, se establece que no puede tomar valores negativos,
y para efectos de visualización, no podrá tener magnitudes mayores a 3.

2.2 Orientación de la muñeca.

Para determinar los valores que deben tomar los últimos 3 grados de libertad, los que se encargan de
orientar la muñeca de tal modo que la herramienta quede según lo definido por el usuario, se utiliza el
método de desacoplamiento cinemático.
Primeramente, se establecen dos vectores relativos al robot en estudio, de la siguiente manera:
UNIVERSIDAD DEL BÍO BÍO
FACULTAD DE INGENIERÍA
DEPARTAMENTO DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA

A5
A4
Y1 Y6
Y3 E4 A6
E1 A2 A3
Y4
Z1 X1 Z3 Z6
E3 X4
E2 pm X3 Z4 E5
X6
Y2 Y5
A1
Z0 pr
Y0
Z5
E0 Z2
X0
X2 X5

Fig. 2.2.1 vectores de posición


Pr contiene la posición en la que se encuentra la herramienta del robot respecto a la base, y siempre será
conocida, por otro lado, pm es la posición en la que debe quedar la muñeca para que se cumpla Pr, y debe
ser determinada para que la sección posición detallada anteriormente conozca los valores de px,py,pz, este
último vector se puede obtener si a la posición de la herramienta se le resta l4 por la orientación de z6.

pm = pr − l 4  z 6 (1.5)

La orientación del extremo del robot está dada por la submatriz de rotación (R06) de la matriz
homogénea obtenida a partir de la cinemática directa (T06), la cual puede ser expresada como:
0
R6 =0 R3 3 R6 (1.6)

De la ecuación (1.6), la matriz de orientación de 0 a 3 está determinada por los primeros tres grados de
libertad, en otras palabras, por la sección de posición de la muñeca, por lo tanto, debe ser calculada
anteriormente en función de q1,q2 y q3, por otro lado, R36 es la matriz que indica la orientación que tendrá
la herramienta relativa a la muñeca, y es la que se busca calcular para obtener los últimos GDL

R36 puede ser despejado de la ecuación (1.6) y ser calculada de la siguiente manera:

R6 = ( 0 R3 ) 0 R6 = ( 0 R3 ) 0 R6
3 −1 T
(1.7)

Para obtener las relaciones que permiten calcular los GDL, se visualiza la matriz de orientación R36
de forma simbólica a continuación,
UNIVERSIDAD DEL BÍO BÍO
FACULTAD DE INGENIERÍA
DEPARTAMENTO DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA

Fig. 2.2.2 Matriz de orientación R36.


A partir de la Fig. 2.2.2, se extraen las siguientes componentes para obtener los GDL q4, q5 y q6,

r11 = C4  C5  C6 − S 4 S6
r12 = -C6  S 4 − C4  C5  S6
r13 = -C4  S5
r21 = C4  S6 + C5C6 S 4 (1.8)
r22 = C4  C6 − C5 S 4 S6
r23 = -S4  S5
r33 = C5

Relacionando estos componentes se obtienen los grados de libertad a continuación,

para q4:

 −r 23  −r 23 S4  S5
q 4 = arctan   , donde : = = tan ( q4 ) (1.9)
 −r13  −r13 C4  S5

para q5:

 −C  r13 − S 4  r 23 
q5 = arctan  4 
 r 33 
donde : (1.10)
=1

−C4  r13 − S 4  r 23 C4 2  S5 + S4 4  S5 S5 ( C4 + S4 )
2 2

= = = tan ( q5 )
r 33 C5 C5

finalmente, para q6:

 − S  r11 + C4  r 21 
q6 = arctan  4  (1.11)
 − S4  r12 + C4  r 22 
UNIVERSIDAD DEL BÍO BÍO
FACULTAD DE INGENIERÍA
DEPARTAMENTO DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA

donde :
=1

− S4  r11 + C4  r 21 S4 S6 −C4  C5  C6  S4 + C4  S6 +C4  C5  C6  S4


2 2
S6 ( S 4 2 + C4 2 )
= = =1
= tan ( q6 )
− S4  r12 + C4  r 22 S4 2C6 +C4  C5  S4  S6 + C4 2  C6 −C4  C5  S4  S6 C ( S 2 + C 2 )
6 4 4

Finalmente, en este caso q4 solo podrá tomar el valor que se le establezca como articulación cuando él
esté en el primer o cuarto cuadrante y q5 no sea cero, además, solo podrá trabar en el rango ± 89, ya que
en ± 90 genera un error en la percepción de los cuadrantes para los otros GDL, aunque es corregido por
ellos para orientar correctamente la herramienta, sin embargo, no se llega a las mismas magnitudes
articulares seteadas.

2.3 Programe la cinemática inversa como una función.


Las restricciones para el algoritmo desarrollado consisten en generar ciertos rangos de funcionamiento de
algunas articulaciones específicas, las cuales se especificaron en la sección anterior.

Para asignar fácilmente los valores de coordenadas espaciales, es posible utilizar la línea 32 del código, y
establecer coordenadas articulares a la cinemática directa, para que esta sección se encargue de asignar las
coordenadas espaciales a la cinemática inversa, otra opción es comentar esta línea y asignar directamente
las coordenadas espaciales en la línea 33.

Fig. 2.3.1 Coordenadas para el estado inicial del robot.


Coordenadas espaciales y articulares para el estado de reposo del robot, obtenidas con CD y CI
respectivamente.
UNIVERSIDAD DEL BÍO BÍO
FACULTAD DE INGENIERÍA
DEPARTAMENTO DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA

3 Matriz jacobiana geométrica y analítica.


3.1.1 Matriz Jacobiana geométrica.

La Matriz jacobiana geométrica relaciona las velocidades articulares y las velocidades lineales (v) y
angulares (w) del extremo del robot expresadas habitualmente en el sistema de referencia de la base del
robot {So}.
 vX   q1 
v   
 y  
 vz   
  = J  (1.12)
 wx   
 wy   
   
 wz   qn 

Para obtener la Jacobiana existen dos métodos, el primero se desarrolla de forma analítica, derivando el
vector p se obtiene la submatriz de velocidades lineales, y luego la de velocidades angulares, por la relación
Ω = 𝑅̇ ∗ 𝑅 𝑇 , explicado entre las páginas 152 y 157 del libro Fundamentos de la Robótica, el segundo es el
método de propagación de velocidades, el cual es fácilmente implementado computacionalmente y permite
i −1
obtener cada una de las columnas de la jacobiana, a partir de las matrices Ai que definen el modelo
cinemático.
Debe considerase que las matrices i −1 Ai tienen, para un robot determinado, una estructura genérica en
función de qi, por lo tanto, puede ser obtenida de forma simbólica, para observar la expresión general de la
jacobiana, o como numérica, para conocer la jacobiana geométrica instantánea en una posición particular,
debido a ello, el algoritmo desarrollado permite ambas opciones según el valor que usted ingrese en la
variable “symb”.
i −1  i −1 n i −1
oi i −1
ai pi 
i −1
Las matrices Ai =  i  posee la información de los vectores directores y origen
 0 0 0 1 
del sistema{Si} respecto a {Si-1}. De este modo 0 zi estará definido por los primeros tres componentes de la
tercera columna de 0 Ai (al ser 0 A0 la matriz identidad, 0 z0 será el vector (0,0,1)).
Se denominará i pn al vector que va desde el origen del sistema {Si} hasta el extremo del robot expresado
respecto a la base. Dado que la cuarta columna de 0 An incorpora las coordenadas del extremo del robot y
0
Ai las del origen del sistema {Si}, ambas respecto a la base, i pn se obtiene de la resta de las 3 primeras
componentes de las cuartas columnas de cada una de ellas.
i
pn =0 An (1: 3, 4) −0 Ai (1: 3, 4 ) (1.13)
Definido lo anterior, la matriz Jacobiana que relaciona las velocidades articulares con las velocidades
de traslación y rotación del extremo del robot expresadas en el sistema de coordenadas de la base, se puede
obtener como una matriz 6 × n (donde n es el número de grados de libertad) expresada por columnas como:

J =  J1 | J 2 | ....... | Jn  (1.14)

donde,
UNIVERSIDAD DEL BÍO BÍO
FACULTAD DE INGENIERÍA
DEPARTAMENTO DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA

  0 zi −1 i −1 zn 
 0  si el eslabón i es de rotación
 zi −1 
Ji =  (1.15)
  zi −1 
0

   si el eslabón i es de traslación
  0 

Implementando lo descrito anteriormente en Matlab, se obtiene la siguiente matriz jacobiana para el


robot en estudio, esta programación se encuentra en una función denominada “jacobianas” en la línea de
código 294 y puede ingresar las entradas para ella en la sección ubicada en la línea de código 40.

 l 4 ( C1 S4 S5 − C2C5 S1 + C4 S1S 2 S5 ) − ( l 2 + q3 ) C2 S1 − l 3C2 S1 −C1 (l 2S2 + l 3S2 + q3S 2 + l 4C5 S 2 + l 4C2C4 S5 )



l 4 ( S1 S4 S5 + C2C5C1 − C4C1S 2 S5 ) + ( l 2 + q3 ) C2C1 + l 3C2C1 − S1 (l 2S2 + l 3S2 + q3S2 + l 4C5 S 2 + l 4C2C4 S5 )
 0 l 2C2 + l 3C2 + q3C2 + l 4C2C5 - l 4C4 S2 S5
 ...
 0 S1
 0 −C1

 1 0

C1C2 l 4S5 (C4 S1 + C1 S 2 S 4 ) l 4 ( C5 S1 S4 − C1C2 S5 − C1C4C5 S 2 ) 0 



C2 S1 −l 4S5 (C4C1 − S1 S 2 S 4 ) −l 4 ( C5C1 S4 − S1C2 S5 − S1C4C5 S 2 ) 0 
S2 −l 4C2 S4 S5 l 4 ( C2 C5C4 − S2 S5 ) 0 
 (1.16)
0 C1C2 C4 S1 − C1 S2 S4 S1 S4 S5 + C1C2 C5 − C1C4 S2 S5 
0 C2 S1 S1 S2 S4 − C1C4 C2 C5 S1 − C1 S4 S5 − C4 S1 S2 S5 

0 S2 −C2 S4 C5 S2 + C2 C4 S5 

3.1.2 Matriz Jacobiana analítica.

Para obtener la Jacobiana analítica existen dos métodos, el primero expresado desde la página 147 a la
página 152 del libro Fundamentos de Robótica o utilizando directamente la relación entre esta y la
Jacobiana geométrica, la cual viene dada por:
I 0 
Ja =  −1 
×J (1.17)
0 Q 
Donde las matrices I y 0 son la matriz identidad y nula de dimensión (3x3) respectivamente, y la matriz
Q, viene definida por la expresión:
0 − S C S 
Q = 0 C S S  (1.18)
1 0 C 
Donde (  , θ,  ) son los ángulos de Euler WVW asociados a la submatriz de rotación R = n o a y que
pueden ser obtenidos de ésta comparándola con:
C C C − S S −C C S − S C C S 
 
R = Rotz ( ) Roty ( ) Rotz ( ) =  S C C + C S S C S + C C S S  (1.19)
 − S C S S C 

UNIVERSIDAD DEL BÍO BÍO
FACULTAD DE INGENIERÍA
DEPARTAMENTO DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA

Resulta importante recalcar que si  es 0 o  , la matriz Q queda con determinante nulo y, por lo tanto,
no sería posible invertirla ni obtener la matriz Jacobiana analítica.
Dado que la matriz Q solo requiere conocer las componentes(  , θ), se procede a obtener únicamente
estos grados, y para ello, se establece que:
R ( 2,3) S S
= = T
R (1,3) C S
(1.20)
 R ( 2,3) 
 a tan 2   =  y permite determinar el cuadrante
 R (1,3) 

R ( 3,3) = C
(1.21)
 a cos ( R ( 3,3) ) = 
Utilizando estas dos últimas ecuaciones en la submatriz de rotación arrojada por la cinemática directa
con el método de DH, se obtienen los ángulos de Euler necesarios para determinar la matriz Q, en cada
instante que se requiera. El único problema generado de obtener los grados de esta manera, es que el arco
coseno no permite identificar si se está en el segundo o tercer cuadrante, sin embargo, se comporta de la
misma manera que la función tr2eul del Toolbox de Peter Corke, por lo tanto, el resultado se considera
suficiente.
Aplicando los ángulos a la matriz Q y utilizando la relación entre ambas matrices, se obtiene la Jacobiana
analítica, Sin embargo, el resultado es demasiado extenso, por lo tanto, se solicita que ejecute la sección
ubicada en la línea de código 40 si desea visualizarla de forma simbólica.
Debido a lo anteriormente mencionado, se decidió obtenerla evaluándola para la posición articular de
reposo del robot, y se compara con la geométrica a continuación:
0 0 1 0 0 0 0 0 1 0 0 0
5 0 0 0 0 0  5 0 0 0 0 0 
 
0 5 0 0 2 0 0 5 0 0 2 0
Ja =   yJ =  (1.22)
1 0 0 0 0 0 0 0 0 1 0 1
0 −1 0 0 −1 0  0 −1 0 0 −1 0
   
0 0 0 1 0 1  1 0 0 0 0 0 
Se aprecia que las diferencias se presentan en las últimas filas, lo cual es completamente esperable, ya
que las primeras tres poseen las mismas configuraciones.
Todo lo anterior fue programado en la función “jacobianas” ubicada en la línea de código 294 función
jacobianas, la cual solicita como entrada el vector de posiciones articulares y la variable “symb” que indica
si se trabaja de forma simbólica o numérica, .
UNIVERSIDAD DEL BÍO BÍO
FACULTAD DE INGENIERÍA
DEPARTAMENTO DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA

4 Ecuación del Jacobiano y puntos singulares.


4.1 Ecuación del Jacobiano.

Se denomina Jacobiano al determinante de las matrices Jacobianas, las cuales no podrán ser invertibles
si este posee un valor nulo, en tal caso, se dice que se está en presencia de un punto singular.
Otra dificultad existente a esta altura es cuando la matriz Jacobiana no es invertible debido a que no es
una matriz cuadrada, un ejemplo de ello es cuando el número de grados de libertad del robot no coincide
con la dimensión del espacio de la tarea. Dado esto el movimiento del robot se verá cortado y se someterá
a algunas restricciones.
Con esto dicho se procederá a calcular mediante Matlab el determinante correspondiente a la Jacobiana
geométrica.
Ecuación Jacobiano procedente de la matriz Jacobiana geométrica.
−C2 S5 ( l2 + l3 + q3 )
2
(1.23)

4.2 Puntos Singulares.

Con lo presentado anteriormente, es posible determinar los puntos singulares del robot, los cuales son:

➢ Para 𝑞2 = (2*k+1) 𝑝𝑖/2 con k = 0,1,2,3...


➢ Para 𝑞3 existe cuando su valor es -3, pero dado que es una articulación prismática el valor
de 𝑞3 no puede ser negativo.
➢ Los puntos singulares para 𝑞5 son cero y los múltiplos de  .

Lo anteriormente mencionado también es obtenido a partir de la función “Jacobianas” ubicada en la


línea 294 del algoritmo adjuntado, la cual se llama desde la sección en la línea 40.
UNIVERSIDAD DEL BÍO BÍO
FACULTAD DE INGENIERÍA
DEPARTAMENTO DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA

5 Test de jacobiana directa.

Para desarrollar este test, se establecen dos vectores, uno indica la posición articular inicial del robot y
el segundo la velocidad a la que se mueven estas, para este caso en particular, se solicita que esta velocidad
sea constante en el tiempo.
Estos vectores pueden ser definidos en la sección de código ubicada en la línea 56 del archivo
“Trabajo1_RI_equipo3”. Los valores deben ser ingresados en grados o unidad de medida longitudinal,
cuando corresponda.
Las posiciones y velocidades se ingresan a la función “test_jacobiana_directa”, la cual evalúa la
jacobiana geométrica en cada instante de tiempo para cada posición articular generada de la posición inicial
más la variación aportada por sus velocidades, cabe señalar, que al establecer las coordenadas articulares,
estas describen una trayectoria definida, y son las coordenadas espaciales de posición y velocidad las que
se obtienen como resultado.

Fig. 5.1 Robot 3D.


El movimiento del robot en el espacio puede ser observado al ejecutar la sección ubicada en la línea 56
del código, los demás gráficos se presentan a continuación.
UNIVERSIDAD DEL BÍO BÍO
FACULTAD DE INGENIERÍA
DEPARTAMENTO DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA

Fig. 5.2 Posiciones y velocidades articulares de q1,q2 y q3.


Como se puede apreciar, las posiciones describen una trayectoria rectilínea a velocidad constante.

Fig. 5.3 Posiciones y velocidades articulares de q4, q5 y q6.


Como se puede apreciar, las posiciones describen una trayectoria rectilínea a velocidad constante.
UNIVERSIDAD DEL BÍO BÍO
FACULTAD DE INGENIERÍA
DEPARTAMENTO DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA

Fig. 5.4 Posiciones y velocidades lineales espaciales (x, y, z).

Fig. 5.5 Posiciones y velocidades angulares espaciales (x, y, z).


Se sabe lo que ocurre en el plano articular, pero no lo que ocurre en el espacio cartesiano, no existe
control sobre eso, debido a esto aparecen curvas.
UNIVERSIDAD DEL BÍO BÍO
FACULTAD DE INGENIERÍA
DEPARTAMENTO DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA

6 Test de jacobiana inversa lejos de un punto singular.

En este caso se deben establecer dos vectores, uno de posición espacial y otro de velocidades espaciales,
los cuales serán las entradas para la función “test_jacobiana_inversa” ubicada en la línea de código 564.
Con el vector de posición y de velocidad se determinan la trayectoria espacial que deberá describir el
robot en estudio, y para ello, es necesario obtener las coordenadas articulares para cada instante de tiempo
en que varié esta trayectoria espacial, con el fin de evaluar la Jacobiana y obtener las velocidades a las que
deben moverse las articulaciones.
Los vectores deben ser definidos en la sección ubicada en la línea de código 67, en grados cuando
corresponda. A continuación, se presentan los resultados obtenidos al establecer coordenadas espaciales
de posiciones y velocidades que garantizaran un movimiento lejano a los puntos singulares expresados en
la sección 4.2.

Fig. 6.1 Robot 3D, lejano al punto singular.


El movimiento del robot en el espacio puede ser observado al ejecutar la sección ubicada en la línea 67
del código, los demás gráficos se presentan a continuación.
UNIVERSIDAD DEL BÍO BÍO
FACULTAD DE INGENIERÍA
DEPARTAMENTO DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA

Fig. 6.2 Posiciones y velocidades articulares de q1,q2 y q3.

Fig. 6.3 Posiciones y velocidades articulares de q4, q5 y q6.


Como se puede apreciar en las figuras anteriores, las trayectorias que describen los grados de libertad
son curvas, esto se debe a que las coordenadas ingresadas son en el espacio, por lo tanto, los movimientos
se encuentran definidos en este espacio de tarea.
UNIVERSIDAD DEL BÍO BÍO
FACULTAD DE INGENIERÍA
DEPARTAMENTO DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA

Fig. 6.4 Posiciones y velocidades lineales espaciales (x, y, z).

Fig. 6.5 Posiciones y velocidades angulares espaciales (x, y, z).


Se observan las trayectorias rectilíneas presentadas ante una variación de velocidad nula, ya que son
constantes en todo instante de tiempo, además, se aprecia que no se está pasando cerca de un punto singular,
por lo que no se visualizan grandes peaks o movimientos bruscos por parte de las articulaciones.
UNIVERSIDAD DEL BÍO BÍO
FACULTAD DE INGENIERÍA
DEPARTAMENTO DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA

7 Test de jacobiana inversa próximo a un punto singular.

Para esta sección se considera lo mismo que se mencionó al inicio del capítulo anterior, sin embargo, la
diferencia radica en que se definen vectores espaciales que generen un paso próximo por algún punto
singular, en este caso, para q5 = 0.

Fig. 7.1 Robot 3D, cercano al punto singular.

Fig. 7.2 Posiciones y velocidades articulares de q1,q2 y q3


UNIVERSIDAD DEL BÍO BÍO
FACULTAD DE INGENIERÍA
DEPARTAMENTO DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA

Fig. 7.3 Posiciones y velocidades articulares de q4, q5 y q6.


Claramente se observan las consecuencias de pasar por un punto singular en la Fig. 7.3, en este caso al
igual que el anterior, se visualizan curvas o trayectorias de otro tipo en el espacio articular, dado que se
definieron en el espacio de tarea las coordenadas.

Fig. 7.4 Posiciones y velocidades lineales espaciales (x, y, z).


UNIVERSIDAD DEL BÍO BÍO
FACULTAD DE INGENIERÍA
DEPARTAMENTO DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA

Fig. 7.5 Posiciones y velocidades angulares espaciales (x, y, z).


Es importante señalar que, al desarrollar el trabajo con la jacobiana cinemática, se hizo necesario utilizar
la cinemática inversa para conocer los valores articulares en cada instante de tiempo, sin embargo, debido
a que la jacobiana geométrica arroja como salida las velocidades lineales de cada eje y las velocidades
angulares en xyz, se requiere conocer entonces, las posiciones angulares en cada eje, lo que es obtenido
correctamente al poseer las posiciones y velocidades espaciales.
En relación a lo anterior, al solicitarle a la cinemática inversa que a partir de las posiciones angulares
xyz obtenga las coordenadas articulares se genera un conflicto, dado que anteriormente se realizó
considerando una orientación dada por los ángulos de Euler en configuración wvw, y debido a ello, los
últimos 3 GDL, que se encargan de orientar la muñeca, son obtenidos a partir de una matriz Ewvw (puede
apreciarse en Fig. 2.2.2), generando que al solicitar en el vector de velocidades un movimiento angular en
x, este lo haga en el eje correspondiente a la herramienta y no respecto a la base.
Debido a lo anteriormente mencionado, se realizaron modificaciones sin lograr un resultado adecuado,
por lo que se llevó a cabo una programación distinta, presentada en el archivo “opción_SCI”, sin embargo,
los gráficos obtenidos dejaban mucho que desear, por ende, se opto por dejar el código como estaba,
sacrificando esta orientación en honor al tiempo (nos percatamos durante la presentación y no se logró
corregir antes de las 23:55).

También podría gustarte