Documentos de Académico
Documentos de Profesional
Documentos de Cultura
www.wuolah.com/student/Nati8
940
7.Practicas_Matlab_Montoya.pdf
Trabajo de Robótica
3º Fundamentos de Robótica
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:
Í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
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:
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}
C=CÁMARA
B=BASE
O=CUBO(OBJETO)
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
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
T5 =
0 1 0 11
1 0 0 10
0 0 -1 1
0 0 0 1
{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= 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
{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} ‘
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
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
T10=inv(T6)*T1*T8;
ans =
1 0 0 10
0 0 1 -1
0 -1 0 5
7
a64b0469ff35958ef4ab887a898bd50bdfbbe91a-1404279
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
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:
YA
𝐷 = √𝑥 2 + 𝑦 2
D
α 𝑦 = sin 𝛼
𝑥 = cos 𝛼
sin 𝛼
{B} tan 𝛼 =
cos 𝛼
sin 𝛼 𝑦
XA
𝛼 = tanh−1 ( ) = tanh−1 ( )
cos 𝛼 𝑥
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
o 𝑇𝐵𝐴 = 𝑅𝐵𝐴
10
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.
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:
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
%
% 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)
ans =
1 -1 1 100
0 1 0 70
-1 0 1 150
0 0 0 1
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
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.
− sin 𝐴 = 𝑟33
13
1
𝐴= (𝑟33 ) = − sin−1 (𝑟33 ) = − sin−1 (cos 𝛽 cos 𝛾)
−𝑠𝑖𝑛
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 𝐴
Programa principal:
R=[0 0 1; -1 0 0; 0 -1 0];
trasformacion(R);
function ROAT=trasformacion(R)
A=-asin(R(3,3));round(A);
14
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
ROAT =
1 0 0
0 0 -1
0 -1 0
ROAT =
0 0 -1
0 -1 0
-1 0 0
15
a64b0469ff35958ef4ab887a898bd50bdfbbe91a-1404279
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.
16
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
𝐶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
𝐶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
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
o Posición:
0
𝑃𝑛𝑖−1 = 𝑃𝑛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.
𝐽𝑣 𝜃 = ( 𝑍00 ^ (𝑃03 − 𝑃00 ) 𝑍01 ^ (𝑃03 − 𝑃01 ) 𝑍02 ^ (𝑃03 − 𝑃02 ) )
𝐶1 −𝑆1 0 𝐿1𝐶1
𝑇10 = ( 𝑆1 𝐶1 0 𝐿1𝑆1 ) → 𝑚𝑎𝑡𝑟𝑖𝑧 𝑑𝑒 𝑝𝑎𝑠𝑜
0 0 1 0
0 0 0 1
19
a64b0469ff35958ef4ab887a898bd50bdfbbe91a-1404279
ii.) Calcular las velocidades cartesianas del efector final, referidas a la base del
robot cuando:
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];
J =
28 10 10
-46 -35 0
1 1 1
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
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.
21
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
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
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.
24