Escolar Documentos
Profissional Documentos
Cultura Documentos
Trabalho de Robtica
UBERABA - MG 2013
Lista de exercicios
Trabalho de Robtica, matria ministrada pelo professor Vinicius Abro na Universidade Federal do Tringulo mineiro para o curso de Engenharia Mecnica.
Uberaba - MG 2013
Programas Matlab
Programao para plot de posies
% Grficos referentes s diferentes posies do mecanismo clear all; close all; clc; %Dados iniciais do sistema L0=3; L2=4; L3=5; H1=3; pos=input('Insira o numero de diferentes posies que voc deseja que o programa plote: ');
for i=1:pos; q1=input('Insira o valor de q1 em metros: '); q2=input('Insira o valor de q2 em graus: '); q2=q2*(pi/180); q3=input('Insira o valor de q3 em graus: '); q3=q3*(pi/180); x=[0 (L0+q1) (L0+q1) (L0+q1+(L2*cos(q2))) (L0+q1+(L2*cos(q2))+(L3*cos(q2+q3)))]; y=[0 0 H1 (H1+(L2*sin(q2))) (H1+(L2*sin(q2))+(L3*sin(q2+q3)))]; hold on plot(x,y) grid on figure (i) axis([-30 50 -10 15]); end
%MGD %Determinao das matrizes de transformao. Mtodo das coordenadas equipolentes disp ('Clculo da matriz de transformaao T0p pelo MGD') %Translao de (Lo + q1) em x0 T01=[1 0 0 (Lo+q1); 0 1 0 0; 0 0 1 0; 0 0 0 1] %Translao de h1 em y1 e rotao de q2 em z1 T12=[cos(q2) -sin(q2) 0 0; sin(q2) cos(q2) 0 h1; 0 0 1 0; 0 0 0 1] %Translao de L2 em x2 e rotao de q3 em z2 T23=[cos(q3) -sin(q3) 0 L2; sin(q3) cos(q3) 0 0; 0 0 1 0; 0 0 0 1] %Translao de L3 em x3 T3p=[1 0 0 L3; 0 1 0 0; 0 0 1 0; 0 0 0 1] %Clculo da matriz de transformao de 0 a p T0p=T01*T12*T23*T3p; T0p=simple(T0p)
% Cinemtica disp('Anlise Cinemtica do sistema'); %Matriz de transformao de 0 para 1 - Translao de (Lo + q1) em x0 t01=[1 0 0 (Lo+q1); 0 1 0 0; 0 0 1 0; 0 0 0 1]
for i=1:3 Jm1(i,1)=t1m1(i,1); end disp('Jacobiano para m1='); disp(Jm1); % Jacobiano para m1 qpto=[q1pto;0;0] Vm1=Jm1*qpto % Velocidade de m1
Equacionamento de Lagrange
clear all; close all; clc; syms syms syms syms Lo h1 d1 d2 L2 L3 m1 m2 mp Ix1 Iy1 Iz1 Ix2 Iy2 Iz2 Ix3 Iy3 Iz3 q1 q2 q3 q1ponto q2ponto q3ponto q1doispontos q2doispontos q3doispontos g Torque
I1=[Ix1 0 0; 0 Iy1 0; 0 0 Iz1]; I2=[Ix2 0 0; 0 Iy2 0; 0 0 Iz2]; I3=[Ix3 0 0; 0 Iy3 0; 0 0 Iz3]; JvM1=[1 0 0;0 0 0;0 0 0]; JvM2=[1 -d2*sin(q2) 0;0 d2*cos(q2) 0;0 0 0];
JwM1=[0 0 0;0 0 0;0 0 0]; JwM2=[0 0 0;0 0 0;0 1 0]; JwMp=[0 0 0;0 0 0;0 1 1];
R2=[cos(q2) -sin(q2) 0; sin(q2) cos(q2) 0; 0 0 1]; R3=[cos(q2+q3) -sin(q2+q3) 0; sin(q2+q3) cos(q2+q3) 0; 0 0 1];;
HM1=d1; HM2=h1+(d2*sin(q2)); Hp=h1+(L3)*sin(q2+q3)+L2*sin(q2); u= m1*g*HM1 + m2*g*HM2 + mp*g*Hp; A= (m1*JvM1.'*JvM1) + (m2*JvM2.'*JvM2 + JwM2.'*R2*I2*R2.'*JwM2) + (mp*JvMp.'*JvMp + JwMp.'*R3*I3*R3.'*JwMp);
for i=1:3 Torque(i)=0; for j=1:3 Torque(i)=Torque(i)+A(i,j)*qdoispontos(j); for k=(j+1):3 b(i,j,k)=diff(A(i,j),q(k)) + diff(A(i,k),q(j)) diff(A(j,k),q(i)); Torque(i)=Torque(i)+b(i,j,k)*qponto(j)*qponto(k); end c(i,j)=diff(A(i,j),q(j)) - (1/2)*diff(A(j,j),q(i)); Torque(i)=Torque(i)+c(i,j)*(qponto(j)^2); end Du(i)=diff(u,q(i)); Torque(i)=Torque(i)+Du; end Torque=simple(Torque.')