You are on page 1of 6

Universidade Federal do Tringulo Mineiro

Afrnio Guilherme Kubata

Trabalho de Robtica

UBERABA - MG 2013

Afrnio Guilherme Kubata RA-201010680

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

Programao para clculo do MGD, MGI e Lagrange


%Seminrio Final de Robtica - 2014 clear all; close all; clc; syms q1 q2 q3 q1pto q2pto q3pto Lo L2 L3 h1 d1 d2 M1 M2 Mp I2 Ip %qipto = qi ponto (derivada primeira de q em relao ao tempo)

%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]

%Matriz de transformao de 1 para m1 - Translao de d2 em y1 t1m1=[1 0 1 0 0 0 0 0 0 1 0 0 0; d1; 0; 1]

%Matriz de transformao de 0 para m1 t0m1=t01*t1m1 Jm1=zeros(6,3);

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];

JvMp=[1 -L3*sin(q2+q3)-L2*sin(q2) -L3*sin(q2+q3);0 L3*cos(q2+q3)+L2*cos(q2) L3*cos(q2+q3);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];;

q=[q1;q2;q3]; qponto=[q1ponto;q2ponto;q3ponto]; qdoispontos=[q1doispontos;q2doispontos;q3doispontos];

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.')