0% encontró este documento útil (0 votos)
24 vistas2 páginas

Simulación de Movimiento de Manipulador 3D

El documento es un programa en MATLAB que calcula y grafica el movimiento de un manipulador de tres eslabones en 3D. Utiliza matrices de transformación para determinar las posiciones de los extremos de cada eslabón en función de los ángulos dados. El programa incluye un ciclo que actualiza y muestra el movimiento del manipulador en un gráfico tridimensional.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como TXT, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
24 vistas2 páginas

Simulación de Movimiento de Manipulador 3D

El documento es un programa en MATLAB que calcula y grafica el movimiento de un manipulador de tres eslabones en 3D. Utiliza matrices de transformación para determinar las posiciones de los extremos de cada eslabón en función de los ángulos dados. El programa incluye un ciclo que actualiza y muestra el movimiento del manipulador en un gráfico tridimensional.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como TXT, PDF, TXT o lee en línea desde Scribd

% Programa de Top. Rob.

Examen

clc % Borrar memoria


clear % Borrar pantalla
close all % Cerrar ventanas

L1 = 0; % Longitud del eslabón 1


L2 = 0.4; % Longitud del eslabón 2
L3 = 0.3; % Longitud del eslabón 3
d1 = 0.5

n = 15;

tet1 = linspace(0, 180, n); % ang. del eslabón 1 con respecto a x0


tet2 = linspace(0, 90, n); % ang. del eslabón 2 con respecto al eslabón 1 (x1)
tet3 = linspace(0, -90, n); % ang. del eslabón 3 con respecto al eslabón 2 (x2)

E1 = [0 0 0]'; % Coordenada del extremo del eslabón 1 con respecto a {1}


E2 = [0 0 0]'; % Coordenada del extremo del eslabón 2 con respecto a {2}
E3 = [0 0 0]'; % Coordenada del extremo del eslabón 3 con respecto a {3}

% ---------------------------------------------------------------------- %
% En esta rutina calculan las puntas de cada eslabón con respecto
% al marco de referencia ( {0} )
% ---------------------------------------------------------------------- %

for c = 1:n % Ciclo for para calcular los 14 puntos

T10 = [cosd(tet1(c)) 0 sind(tet1(c)) L1*cosd(tet1(c)) ;... % Matriz de trans


de {1} con respecto a {0}
sind(tet1(c)) 0 -cosd(tet1(c)) L1*sind(tet1(c)) ;...
0 1 0 d1 ;...
0 0 0 1 ];

T21 = [cosd(tet2(c)) -sind(tet2(c)) 0 L2*cosd(tet2(c)) ;... % Matriz de trans


de {2} con respecto a {1}
sind(tet2(c)) cosd(tet2(c)) 0 L2*sind(tet2(c)) ;...
0 0 1 0 ;...
0 0 0 1 ];

T32 = [cosd(tet3(c)) -sind(tet3(c)) 0 L3*cosd(tet3(c)) ;... % Matriz de trans


de {3} con respecto a {2}
sind(tet3(c)) cosd(tet3(c)) 0 L3*sind(tet3(c)) ;...
0 0 1 0 ;...
0 0 0 1 ];

E1_0(:,c) = T10*[E1;1]; % Punta del eslabón 1 con respecto a {0}


E2_0(:,c) = T10*T21*[E2;1]; % Punta del eslabón 2 con respecto a {0}
E3_0(:,c) = T10*T21*T32*[E3;1]; % Punta del eslabón 3 con respecto a {0}

end

% ---------------------------------------------------------------------- %
% En esta rutina se gráfica el movimiento del maniupaldor en 3D
% ---------------------------------------------------------------------- %

figure
plot3([-100 100],[0 0],[0 0],'k','LineWidth',1)
hold on
plot3([0 0],[-100 100],[0 0],'k','LineWidth',1)
plot3([0 0],[0 0],[-100 100],'k','LineWidth',1)
xlabel('Eje x')
ylabel('Eje y')
zlabel('Eje z')
for c = 1:n
plot3([ 0 E1_0(1,c)],[ 0 E1_0(2,c)],[ 0 E1_0(3,c)],'o-
b','LineWidth',3)
plot3([E1_0(1,c) E2_0(1,c)],[E1_0(2,c) E2_0(2,c)],[E1_0(3,c) E2_0(3,c)],'o-
r','LineWidth',3)
plot3([E2_0(1,c) E3_0(1,c)],[E2_0(2,c) E3_0(2,c)],[E2_0(3,c) E3_0(3,c)],'o-
g','LineWidth',3)
axis([-1 1 -1 1 -1 1])
pause(0.5)
end
grid

También podría gustarte