Está en la página 1de 27

Nati8

www.wuolah.com/student/Nati8

940

7.Practicas_Matlab_Montoya.pdf
Trabajo de Robótica

3º Fundamentos de Robótica

Grado en Ingeniería Electrónica, Robótica y Mecatrónica

Escuela de Ingenierías Industriales


Universidad de Málaga

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su
totalidad.
a64b0469ff35958ef4ab887a898bd50bdfbbe91a-1404279

2016
Responsable:

Laura Natalia Montoya Pacheco


PRÁCTICAS CON MATLAB
Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
a64b0469ff35958ef4ab887a898bd50bdfbbe91a-1404279

PRACTICAS CON MATLAB


Montoya Pacheco, Laura Natalia

ÍNDICE
1 PRÁCTICA TRASFORMADAS HOMOGÉNEAS I........................................................................ 2
2 PRÁCTICA TRANSFORMADAS HOMOGÉNEAS II .................................................................... 8
2.1.1 PRIMER PROBLEMA ............................................................................................... 8

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
2.1.2 SEGUNDO PROBLEMA ......................................................................................... 12
3 PRACTICA MATRIZ JACOBIANA............................................................................................ 15

Esto es un recordatorio de Wuolah: ERES UN CRACK.


a64b0469ff35958ef4ab887a898bd50bdfbbe91a-1404279

PRACTICAS CON MATLAB


Montoya Pacheco, Laura Natalia

PRACTICAS CON MATLAB


1 PRÁCTICA TRASFORMADAS HOMOGÉNEAS I

Se ha preparado una estación de trabajo de robot con una vídeo cámara, tal como se
muestra en la figura 1. La cámara puede ver el origen del sistema de coordenadas de
la base donde se fija un robot de seis elementos, y también el centro de un cubo que
tiene que ser manipulado por el robot. Si se ha establecido un sistema de coordenada

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
local en el centro del cubo, entonces este objeto, tal como lo ve la cámara, se puede
representar por una matriz de transformación homogénea T1. También el origen de
coordenadas de la base del robot, tal como lo ve la cámara se puede expresar por
una matriz de transformación homogénea T2:

Se pide resolver los siguientes puntos:


i.) ¿Cuál es la posición del centro del cubo con respecto al sistema de
coordenadas de la base?

T1= SISTEMA DEL CENTRO DEL CUBO RESPECTO DE LA CÁMARA


T2=SISTEMA DE LA BASE DEL ROBOT RESPECTO DE LA CÁMARA

¿Has participado ya en el Giveaway? En www.wuolah.com


a64b0469ff35958ef4ab887a898bd50bdfbbe91a-1404279

PRACTICAS CON MATLAB


Montoya Pacheco, Laura Natalia

T2
{C} {B}

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
T1
T3

{O}

T3=SISTEMA DEL CUBO RESPECTO DE LA BASE

C=CÁMARA
B=BASE
O=CUBO(OBJETO)

 Realizamos los cálculos con Matlab.

T3= inv(T2) * T1;

T3 =

0 1 0 11
-1 0 0 10
0 0 1 1
0 0 0 1

 Por lo que sabemos que la posición del centro del cubo con respecto al
sistema de coordenadas de la base es:

11
P= (10)
1

ii.) Suponer que el cubo se encuentra dentro del alcance del brazo, ¿Cuál es la
matriz de orientación, referida al sistema de referencia del cubo, si se
requiere que la pinza del robot se alinee con el eje Y del mismo y al mismo
tiempo lo coja desde arriba?

3
a64b0469ff35958ef4ab887a898bd50bdfbbe91a-1404279

PRACTICAS CON MATLAB


Montoya Pacheco, Laura Natalia

T2
{C} {B}

T3
T1 T5

T4
{O} {P}

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
 Ponemos un punto intermedio a partir del que alineamos la pinza con una
matriz de transformación T4 alineada al objeto. Lo que sería igual que una
rotación en Y de 180º para la alineación con el eje Y de los dos sistemas.

T4=rotY(pi);

T4 =

-1 0 0 0
0 1 0 0
0 0 -1 0
0 0 0 1

 Por lo que la matriz de transformación será:

T5= inv(T2) * T1 * T4;

T5 =

0 1 0 11
1 0 0 10
0 0 -1 1
0 0 0 1

iii.) Desgraciadamente, después de que se ha colocado el equipo y se han


tomado estos sistemas de coordenadas, alguien gira la cámara 90° respecto
del eje Z de la cámara. ¿Cuál es la localización de la cámara con respecto al
sistema de coordenadas de la base del robot?

El que está sentado a tu lado no conoce Wuolah, explícaselo


a64b0469ff35958ef4ab887a898bd50bdfbbe91a-1404279

PRACTICAS CON MATLAB


Montoya Pacheco, Laura Natalia

{C} ’

T6 T7

T2
{C} {B}

T1 T3 T5

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
T4
{O} {P}

 T6: Será la matriz de transformación de la cámara girada 90º


 T7: la matriz de transformación de la cámara respecto de la base

T6= rotZ(pi/2);
T6=
0 -1 0 0
1 0 0 0
0 0 1 0
0 0 0 1

T7=inv(T2)*T6;

T7=
0 -1 0 10
-1 0 0 20
0 0 -1 10
0 0 0 1

iv.) Después de que haya calculado la respuesta a la pregunta anterior, la misma


persona giró el objeto 90° respecto del eje x del objeto y lo traslado cuatro
unidades de distancia a lo largo del eje y girado. Calcular la localización del
objeto con respecto al sistema de coordenadas de la base del robot.

Aquí no, pero en Instagram ponemos memes: @Wuolah_apuntes


a64b0469ff35958ef4ab887a898bd50bdfbbe91a-1404279

PRACTICAS CON MATLAB


Montoya Pacheco, Laura Natalia

{C} ’

T6 T7

T2
{C} {B}

T3
T1 T5
T9

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
T4
{O} {P}

T8
{O} ‘

 T8: Será la matriz de transformación del giro del objeto


 T9: Matriz de transformación del objeto respecto a la base

p=[0,4,0];
 p es el punto para el desplazamiento en Y de 4 unidades

T8=rotX(pi/2)*desp(p);

T8=
1 0 0 0
0 0 -1 0
0 1 0 4
0 0 0 1

T9=T3*T8; round(T9);
T9=
0 0 -1 11
-1 0 0 10
0 1 0 5
0 0 0 1

 También se puede ir por otros caminos como:


o T9=inv(T2)*T1*T8;
o T9=T5*inv(T4)*T8;

¿Qué estará pasando en Twitter? Síguenos: @Wuolah


a64b0469ff35958ef4ab887a898bd50bdfbbe91a-1404279

PRACTICAS CON MATLAB


Montoya Pacheco, Laura Natalia

v.) En las mismas circunstancias anteriores, calcular la localización del objeto


con respecto al sistema de coordenadas de la cámara girada.

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
{C} ’

T6 T7

T2 T10
{C} {B}

T3
T1 T5
T9
T4
{O} {P}

T8
{O} ‘

T10=inv(T7)*T9;

T10=

1 0 0 10
0 0 1 -1
0 -1 0 5
0 0 0 1

 También se puede ir por otros caminos como vemos en el punto siguiente.

vi.) Considerar otra secuencia de transformaciones homogéneas que resuelva el


punto anterior.

T10=inv(T6)*T1*T8;

ans =

1 0 0 10
0 0 1 -1
0 -1 0 5
7
a64b0469ff35958ef4ab887a898bd50bdfbbe91a-1404279

PRACTICAS CON MATLAB


Montoya Pacheco, Laura Natalia

0 0 0 1

T10=inv(T7)*T5*inv(T4)*T8;

ans =

1 0 0 10
0 0 1 -1
0 -1 0 5
0 0 0 1

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
T10=inv(T7)*T3*T8;

ans =

1 0 0 10
0 0 1 -1
0 -1 0 5
0 0 0 1

2 PRÁCTICA TRANSFORMADAS HOMOGÉNEAS II

2.1.1 PRIMER PROBLEMA

En el contexto de las operaciones de cirugía mínimamente invasiva realizadas en el


abdomen de un paciente, la tarea denominada como navegación laparoscópica
consiste en el posicionamiento de la cámara laparoscópica con el objetivo de que la
óptica esté dirigida hacia una estructura anatómica deseada dentro de la cavidad
abdominal, y permita, de esta manera, mostrar al cirujano la zona de interés en
cada momento de la intervención. Para poder llevarla a cabo, es necesario
especificar la localización de un sistema de referencia situado en la cámara con
respecto a un sistema de referencia situado en l punto de inserción de la óptica en
el abdomen del paciente (punto de fulcro). Esta localización se definirá en
términos de las coordenadas esféricas α (ángulo de giro), β (ángulo de elevación) y

¿Qué estará pasando en Instagram? Síguenos: @Wuolah_apuntes


a64b0469ff35958ef4ab887a898bd50bdfbbe91a-1404279

PRACTICAS CON MATLAB


Montoya Pacheco, Laura Natalia

ρ (distancia existente desde el origen del sistema asociado a la cámara


laparoscópica hasta el punto de fulcro.

La figura 1 muestra la localización del sistema situado en la cámara {B} con


respecto al situado en el punto de fulcro {A} cuando la posición de este último
viene dada por el vector AP{B} = (x, y, z) T. La orientación de {B} con respecto al
{A} se define de la siguiente forma: el eje ZB apunta hacia el origen de
coordenadas del sistema {A}, el eje XB avanza en el sentido positivo del eje ZA, y,
por último, el eje YB resulta paralelo al plano formado por XA e YA.

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
i.) Se pide el cálculo de la localización de {B} con respecto al {A},
representada por la transformada homogénea ATB. Para ello, se emplea
la siguiente metodología:

a. Plantear los ángulos de giro α y de elevación β, que definen la


orientación del sistema {B}, en función del vector de posición
AP{B}=(x, y, z) T.

 Utilizamos el teorema de Pitágoras para definir la distancia euclidea


(módulo) respecto al sistema de referencia {B} en giro:

Aquí no puedes quejarte, pero puedes hacerlo en Twitter: @Wuolah


a64b0469ff35958ef4ab887a898bd50bdfbbe91a-1404279

PRACTICAS CON MATLAB


Montoya Pacheco, Laura Natalia

YA
 𝐷 = √𝑥 2 + 𝑦 2
D
α  𝑦 = sin 𝛼
 𝑥 = cos 𝛼
sin 𝛼
{B}  tan 𝛼 =
cos 𝛼
sin 𝛼 𝑦
XA
𝛼 = tanh−1 ( ) = tanh−1 ( )
cos 𝛼 𝑥

 Utilizamos el nuevamente el teorema de Pitágoras para definir la distancia

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
euclidea (módulo) respecto al sistema de referencia {B} en elevación:

ZA

{B}  𝐷1 = √𝐷2 + 𝑍 2
 𝑍 = sin β
 𝐷 = cos β
sin β
D1  tan β =
cos β
−1 sin β −1 𝑍
β= tanh (cos β) = tanh (𝐷)
β
D

b. Suponer un sistema móvil coincidente con el {A} y que se verá


arrastrado por el espacio cuando este se transforme. Elaborar una
secuencia de transformaciones homogéneas elementales que, tras
aplicarlas, consiga que este sistema móvil coincida perfectamente
con {B}.

 Primero realizamos un giro 𝛼 sobre el eje Za y después un giro β sobre el


eje Ya. Por lo que mi matriz de transformación será:

o 𝑇𝐵𝐴 = 𝑅𝐵𝐴

10

Esto es un recordatorio de Wuolah: ERES UN CRACK.


a64b0469ff35958ef4ab887a898bd50bdfbbe91a-1404279

PRACTICAS CON MATLAB


Montoya Pacheco, Laura Natalia

 La matriz de rotación es:

o 𝑅𝐵𝐴 = RZ (α) · RY (β)

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
c. Como regla general para calcular esta secuencia, en primer lugar, se
contempla la orientación del sistema móvil, y por ultimo su
posicionamiento mediante el uso de una transformación de
desplazamiento.

 matriz de transformación contemplando el desplazamiento, será:


𝐴
o 𝑇𝐵𝐴 = (𝑅𝐵 𝐷)
0 1

 El desplazamiento es:

o D = (x, y, z)

ii.) Construir una función MATLAB que posea como argumento el vector de
posición del sistema de coordenadas de la cámara {B}, y retorne la
matriz de transformación homogénea que relacione el mencionado
sistema con el global de referencias y utilizarla en el caso de cuando
AP{B} =(100, 70, 150)T.

 Programa principal:

P=[100, 70, 150];


sistema(P);

 Una vez en la función “function T=sistema(P)”:

function T=sistema(P)
D=sqrt(P(1)^2+P(2)^2);
% D =
%
% 122.0656
% para beta:
D1=sqrt(D^2+P(3)^2);
% D1 =
11
a64b0469ff35958ef4ab887a898bd50bdfbbe91a-1404279

PRACTICAS CON MATLAB


Montoya Pacheco, Laura Natalia

%
% 193.3908
alpha=atan2(P(2),P(1));
% alpha =
%
% 0.6107
beta=atan2(P(3),D);
% beta =
%
% 0.8877
T=desp(P)*rotZ(alpha)*rotY(beta);

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
% T
%
% 0.5171 -0.5735 0.6354 100.0000
% 0.3620 0.8192 0.4448 70.0000
% -0.7756 0 0.6312 150.0000
% 0 0 0 1.0000
round(T)

 Me da como resultado la matriz de transformación:

ans =

1 -1 1 100
0 1 0 70
-1 0 1 150
0 0 0 1

2.1.2 SEGUNDO PROBLEMA

Se desea calcular la matriz de rotación que define la orientación de un sistema


móvil {H} con respecto a uno de referencias fijo {B} definida de la siguiente forma:

 Efectuar una rotación de un ángulo α respecto al eje XB, seguida por un giro
β respecto al eje ZH y seguida por rotación de un ángulo γ respecto a YB.

BTh
{H}móvil {B}fijo

12

¿Has participado ya en el Giveaway? En www.wuolah.com


a64b0469ff35958ef4ab887a898bd50bdfbbe91a-1404279

PRACTICAS CON MATLAB


Montoya Pacheco, Laura Natalia

 𝑅𝐻𝐵 = R𝑋𝐵 (α) · R 𝑍𝐻 (β) · R 𝑌𝐵 (γ)

o i.) Deducir la representación en ángulos OAT que corresponde al


enunciado propuesto aplicando la metodología denominada el
problema inverso de la orientación.

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
 Primero debemos encontrar los parámetros que definen una
representación de la orientación a partir de una matriz de rotación
genérica.

 Seguidamente utilizamos la Metodología:


o Resolución mediante métodos algebraicos:
o Con la representación seleccionada plantear un sistema de
ecuaciones con las tres incógnitas o por sustitución.
 1. Escoger aquellas que sólo tienen una incógnita.

− sin 𝐴 = 𝑟33

 2. Escoger aquellas con dos incógnitas en las que se pueda


aplicar el teorema fundamental de la trigonometría o
simplemente pueda sustituir.

13

El que está sentado a tu lado no conoce Wuolah, explícaselo


a64b0469ff35958ef4ab887a898bd50bdfbbe91a-1404279

PRACTICAS CON MATLAB


Montoya Pacheco, Laura Natalia

sin 𝑇 ∗ cos 𝐴 = 𝑟32


cos 𝑂 ∗ cos 𝐴 = 𝑟23

o 3. Se calculará el seno y el coseno de la variable seleccionada, y


despejo el resto de incógnitas según el punto anterior teniendo en
cuenta la ya calculada.

1
 𝐴= (𝑟33 ) = − sin−1 (𝑟33 ) = − sin−1 (cos 𝛽 cos 𝛾)
−𝑠𝑖𝑛

1 𝑟32 𝑟32 cos 𝛽 sin 𝛾


= sin−1 ( ) = sin−1 (

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
 𝑇= )
𝑠𝑖𝑛 cos 𝐴 cos 𝐴 cos 𝐴

1 𝑟23 𝑟23 − cos 𝛼 sin 𝛾


 𝑂= = cos −1 ( ) = cos −1 ( )
𝑐𝑜𝑠 cos 𝐴 cos 𝐴 cos 𝐴

o Contemplamos los casos de soluciones degeneradas:

 Para A cuando cos 𝛽 cos 𝛾 = 𝜋/2 , cos 𝛽 cos 𝛾 = 3𝜋/2


 Para T cuando A = π/2 , A = 3π/2
 Para O cuando A = π/2, A = 3π/2

o Implantarlo en MATLAB teniendo en cuenta las soluciones


degeneradas.

 Programa principal:

R=[0 0 1; -1 0 0; 0 -1 0];
trasformacion(R);

 Una vez en la función “function ROAT=trasformacion(R)”:

function ROAT=trasformacion(R)
A=-asin(R(3,3));round(A);

if A~=(pi/2) && A~=((3*pi)/2)


T=asin((R(3,2))/cos(A));round(T);
if T~=(pi/2) && T~=((3*pi)/2)
O=asin((R(2,3))/cos(A));round(O);
if O~=(pi/2) && O~=((3*pi)/2)
CO=cos(O); CA=cos(A); CT=cos(T);
SO=sin(O); SA=sin(A); ST=sin(T);

14

Aquí no, pero en Instagram ponemos memes: @Wuolah_apuntes


a64b0469ff35958ef4ab887a898bd50bdfbbe91a-1404279

PRACTICAS CON MATLAB


Montoya Pacheco, Laura Natalia

ROAT=[CT*ST-SO*SA*CT, ST*SA*SO+CO*CT, CA*SO;


SO*ST+CO*SA*CT, CT*SO-CO*ST*SA, -CO*CA;
-CA*CT, ST*CA, -SA];

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
end
end
else
text('solución degenerada');
end

ROAT

 Me da como resultado la matriz de transformación:

ROAT =

1 0 0
0 0 -1
0 -1 0

o ii.) Volver a calcular la matriz de orientación detallada en el


enunciado si la situación inicial entre el sistema {B} y {H} se define
de la siguiente manera: El eje ZH coincide con XB, XH con –YB e YH
con −ZB.

R=[0 -1 0; 0 0 -1; 1 0 0];


trasformacion(R);

ROAT =

0 0 -1
0 -1 0
-1 0 0

3 PRACTICA MATRIZ JACOBIANA

La figura 1 muestra el esquema de un manipulador en el plano de tres grados de


libertad. Los parámetros θi y li son la posición articular y la longitud del elemento i-
-‐ésimo de forma respectiva. Por otro lado, x, y y α representan la posición cartesiana
y orientación del efector final con respecto al sistema de referencias de la base del
robot.

15
a64b0469ff35958ef4ab887a898bd50bdfbbe91a-1404279

PRACTICAS CON MATLAB


Montoya Pacheco, Laura Natalia

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
Se pide:
i.) Calcular la matriz jacobiana del manipulador referida al sistema de la base
del robot mediante la metodología basada en la solución geométrica.

 Para obtener la matriz jacobiana primero debemos obtener el modelo


cinemático directo, para ello vamos a utilizar el modelo cinemático directo y
la asignación DH1,

16

¿Qué estará pasando en Twitter? Síguenos: @Wuolah


a64b0469ff35958ef4ab887a898bd50bdfbbe91a-1404279

PRACTICAS CON MATLAB


Montoya Pacheco, Laura Natalia

Y3

X2
Y2 X3

Ɵ3

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
X1

Ɵ2
Y1

Y0
Ɵ1

X0

I 𝜶 di ai Ɵi
1 0 0 L1 𝜃1
2 0 0 L2 𝜋 + 𝜃2
3 0 0 L3 𝜋 + 𝜃3

 Ahora tenemos que determinar las matrices de paso y los vectores de


posición que componen la matriz de transformación, porque de ellas
obtendremos más adelante el jacobiano del manipulador por métodos
geométricos.

𝐶1 −𝑆1 0 𝐿1𝐶1
𝑇10 = ( 𝑆1 𝐶1 0 𝐿1𝑆1 )
0 0 1 0
0 0 0 1
𝐶2 −𝑆2 0 𝐿2𝐶2
𝑇21 = ( 𝑆2 𝐶2 0 𝐶2𝑆2)
0 0 1 0
0 0 0 1

17

¿Qué estará pasando en Instagram? Síguenos: @Wuolah_apuntes


a64b0469ff35958ef4ab887a898bd50bdfbbe91a-1404279

PRACTICAS CON MATLAB


Montoya Pacheco, Laura Natalia

𝐶3 −𝑆3 0 𝐿3𝐶3
𝑇32 = ( 𝑆3 𝐶3 0 𝐿3𝑆3 )
0 0 1 0
0 0 0 1
𝐶123 −𝑆123 0 𝐿3𝐶123 + 𝐿2𝐶12 + 𝐿1𝐶1
𝑇30 = 𝑇10 ∗ 𝑇21 ∗ 𝑇32 = ( 𝑆123 𝐶123 0 𝐿3𝑆123 + 𝐿2𝑆12 + 𝐿1𝑆1 )
0 0 1 0
0 0 0 1
𝐶12 −𝑆12 0 𝐿2𝐶12 + 𝐿1𝐶1
𝑇20 = 𝑇10 ∗ 𝑇21 = ( 𝑆12 𝐶12 0 𝐿2𝑆12 + 𝐿1𝑆1 )
0 0 1 0

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
0 0 0 1

 ahora ya vamos a utilizar el jacobiano por métodos numéricos.


o 𝑣𝑛0 = Vector de velocidades lineales
 𝑑𝑛0 = Aportación de la articulación i-ésima al vector de la
velocidad lineal del efector final
o 𝜔𝑛 = Vector de aceleraciones angulares 𝑣𝑛0
0

 Ω0𝑛 = Aportación de la articulación i-ésima al vector de la


velocidad angular del efector final

 Calculamos las di y los Ωi por separado:

 Cogemos todos los elementos de la matriz de rotación y nos quedamos con


Z, esto es para las aportaciones de revolución:

𝑅𝑖0 = ( 𝑋𝑖0 𝑌𝑖0 𝑍𝑖0 )

o Velocidad angular:

Ω0𝑖 ∗ 𝑄𝑖 = 𝜃𝑖 ∗ 𝑍𝑖−1
0
≫ Ω0𝑖 = 𝑍𝑖−1
0

o Velocidad lineal:

𝑑𝑖0 ∗ 𝑄𝑖 = 𝜃𝑖 ∗ 𝑍𝑖−1
0
^ 𝑃𝑛𝑖−1 ≫ 𝑑𝑖0 = 𝑍𝑖−1
0
^𝑃𝑛𝑖−1 ≫ 𝑑𝑖0 = 𝑍𝑖−1
0 0
^ (𝑃𝑛0 − 𝑃𝑖−1 )
18

Aquí no puedes quejarte, pero puedes hacerlo en Twitter: @Wuolah


a64b0469ff35958ef4ab887a898bd50bdfbbe91a-1404279

PRACTICAS CON MATLAB


Montoya Pacheco, Laura Natalia

o Posición:
0
𝑃𝑛𝑖−1 = 𝑃𝑛0 − 𝑃𝑖−1

 Matriz jacobiana del manipulador de velocidades lineales:

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
𝐽𝑣 𝜃 = ( 𝑍00 ^ (𝑃03 − 𝑃00 ) 𝑍01 ^ (𝑃03 − 𝑃01 ) 𝑍02 ^ (𝑃03 − 𝑃02 ) )

 De las matrices de paso de transformación obtengo las aportaciones lineales

𝐶123 −𝑆123 0 𝐿3𝐶123 + 𝐿2𝐶12 + 𝐿1𝐶1


 𝑇30 = 𝑇10 ∗ 𝑇21 ∗ 𝑇32 = ( 𝑆123 𝐶123 0 𝐿3𝑆123 + 𝐿2𝑆12 + 𝐿1𝑆1 )
0 0 1 0
0 0 0 1

0 𝐿3𝐶123 + 𝐿2𝐶12 + 𝐿1𝐶1 0


o 𝑑01 = 𝑍00 ^ (𝑃30 − 𝑃00 ) = (0) ^ [( 𝐿3𝑆123 + 𝐿2𝑆12 + 𝐿1𝑆1 ) − (0)]
1 0 0
o 𝑑10 = −(𝐿3𝑆123 + 𝐿2𝑆12 + 𝐿1𝑆1)𝑖 + (𝐿3𝐶123 + 𝐿2𝐶12 + 𝐿1𝐶1)𝑗

𝐶1 −𝑆1 0 𝐿1𝐶1
 𝑇10 = ( 𝑆1 𝐶1 0 𝐿1𝑆1 ) → 𝑚𝑎𝑡𝑟𝑖𝑧 𝑑𝑒 𝑝𝑎𝑠𝑜
0 0 1 0
0 0 0 1

0 𝐿3𝐶123 + 𝐿2𝐶12 + 𝐿1𝐶1 𝐿1𝐶1


o 𝑑02 = 𝑍10 ^ (𝑃30 − 𝑃10 ) = (0) ^ [( 𝐿3𝑆123 + 𝐿2𝑆12 + 𝐿1𝑆1 ) − ( 𝐿1𝑆1)]
1 0 0
o 𝑑20 = −(𝐿3𝑆123 + 𝐿2𝑆12)𝑖 + (𝐿3𝐶123 + 𝐿2𝐶12)𝑗

𝐶12 −𝑆12 0 𝐿2𝐶12 + 𝐿1𝐶1


 𝑇20 = ( 𝑆12 𝐶12 0 𝐿2𝑆12 + 𝐿1𝑆1 ) → 𝑚𝑎𝑡𝑟𝑖𝑧 𝑑𝑒 𝑝𝑎𝑠𝑜
0 0 1 0
0 0 0 1

0 𝐿3𝐶123 + 𝐿2𝐶12 + 𝐿1𝐶1 𝐿2𝐶12 + 𝐿1𝐶1


o 𝑑30 = 𝑍10 ^ (𝑃30 − 𝑃10 ) = (0) ^ [( 𝐿3𝑆123 + 𝐿2𝑆12 + 𝐿1𝑆1 ) − ( 𝐿2𝑆12 + 𝐿1𝑆1 )]
1 0 0
o 𝑑30 = −(𝐿3𝑆123)𝑖 + (𝐿3𝐶123)𝑗

 Matriz jacobiana del manipulador:

−(𝐿3𝑆123 + 𝐿2𝑆12 + 𝐿1𝑆1) −(𝐿3𝑆123 + 𝐿2𝑆12) −(𝐿3𝑆123)


𝐽𝜃 = ( (𝐿3𝐶123 + 𝐿2𝐶12 + 𝐿1𝐶1) (𝐿3𝐶123 + 𝐿2𝐶12) (𝐿3𝐶123) )
1 1 1

19
a64b0469ff35958ef4ab887a898bd50bdfbbe91a-1404279

PRACTICAS CON MATLAB


Montoya Pacheco, Laura Natalia

ii.) Calcular las velocidades cartesianas del efector final, referidas a la base del
robot cuando:

 Vamos a calcular los valores dados con Matlab.

O1=pi*120/180;
O2=pi*60/180;
O3=pi*90/180;

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
% Calculamos los senos y los cosenos
c2=cos(O2);
c1=cos(O1);
c3=cos(O3);
s2=sin(O2);
s1=sin(O1);
s3=sin(O3);
L1=50*(sqrt(2)-1);
L2=25*sqrt(2);
L3=10;
% calculamos la matriz jacobiana
J=[-L3*sin(O1+O2+O3) + L2*sin(O1+O2) + L1*sin(O1),
-L3*sin(O1+O2+O3) + L2*sin(O1+O2),
-L3*sin(O1+O2+O3);
L3*cos(O1+O2+O3) + L2*cos(O1+O2) + L1*cos(O1),
L3*cos(O1+O2+O3) + L2*cos(O1+O2),
L3*cos(O1+O2+O3);
1,1,1];

 Matriz jacobiana del manipulador:

J =
28 10 10
-46 -35 0
1 1 1

 Velocidades cartesianas del efector final 𝑣 = 𝑗(𝜃) ∗ 𝜃̈

t1=pi*5/180;
t2=pi*10/180;
t3=pi*20/180;
theta=[t1,t2,t3];
% theta =
%
% 0.0873
% 0.1745
% 0.3491
v=J*theta;

20

Esto es un recordatorio de Wuolah: ERES UN CRACK.


a64b0469ff35958ef4ab887a898bd50bdfbbe91a-1404279

PRACTICAS CON MATLAB


Montoya Pacheco, Laura Natalia

v =

7.6739
-10.1597
0.6109

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
iii.) Se requiere mover el extremo distal del efector final desde el punto A hasta
el B a lo largo del eje Y del sistema global a una velocidad constante de 10
cm/seg. Asimismo, en el mencionado desplazamiento se desea mantener el
tercer elemento del manipulador paralelo al eje X del sistema global.

o Calcular las velocidades articulares necesarias y dibujarlas como una


función del tiempo.

21

¿Has participado ya en el Giveaway? En www.wuolah.com


a64b0469ff35958ef4ab887a898bd50bdfbbe91a-1404279

PRACTICAS CON MATLAB


Montoya Pacheco, Laura Natalia

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.

22

El que está sentado a tu lado no conoce Wuolah, explícaselo


a64b0469ff35958ef4ab887a898bd50bdfbbe91a-1404279

23
PRACTICAS CON MATLAB
Montoya Pacheco, Laura Natalia

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
a64b0469ff35958ef4ab887a898bd50bdfbbe91a-1404279

PRACTICAS CON MATLAB


Montoya Pacheco, Laura Natalia

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
iv.) ¿Existen configuraciones singulares durante el movimiento desde el punto
A hasta el B?. Si ocurre esta situación determinar la configuración singular y
la dirección a lo largo de la cual el brazo no puede moverse.

v.) Si no se impone la condición sobre la orientación del efector final en el


movimiento, calcular las velocidades en el punto A que hacen mínimo el
siguiente índice:

24

Aquí no, pero en Instagram ponemos memes: @Wuolah_apuntes

También podría gustarte