Está en la página 1de 7

Universidad Politécnica Salesiana

Integrantes: Christian Santiago Feicán Campoverde


Pablo Andrés Gómez Guerrero
Romanella Johanna Soria Giménez
Fecha: 21 enero 2019
Asignatura: Robótica
Realizar la cinemática directa del Robot PPR, además obtener la Jacobiana Directa.

Figura 1.- Esquema del Robot PPR

• Cinemática Directa Geometría


Sistemas de ecuación que producen la posición y orientación del robot PPR
𝑥 = 𝑙1 + 𝑙2 ∙ cos⁡(𝑞3)
𝑦 = 𝑞2 + 𝑙2 ∙ sin⁡(𝑞3)
𝑧 = 𝑞1
• Cinemática Directa Denavit-Hartenberg
# articulación 𝜽𝒊 𝒅𝒊 𝒂𝒊 𝜶𝒊
1 0 𝑞1 𝑙1 −90
2 0 𝑞2 0 90
3 𝑞3 0 𝑙2 0

• Matriz de transformación general


cos⁡(𝜃𝑖 ) −cos⁡(𝛼𝑖 )sin⁡(𝜃𝑖 ) sin⁡(𝛼𝑖 )sin⁡(𝜃𝑖 ) 𝑎𝑖 cos⁡(𝜃𝑖 )
sin⁡(𝜃𝑖 ) cos⁡(𝛼𝑖 )cos⁡(𝜃𝑖 ) −sin⁡(𝛼𝑖 )cos⁡(𝜃𝑖 ) 𝑎𝑖 sin⁡(𝜃𝑖 )
𝐴𝑖 𝑖−1 =[ ]
0 sin(𝛼𝑖 ) cos⁡(𝛼𝑖 ) 𝑑𝑖
0 0 0 1

• Matriz de transformación del sistema 1 al 0.


Cálculo Matlab

𝟏 𝟎 𝟎 𝒍𝟏
𝑨𝟏 𝟎 = [𝟎 𝟎 𝟏 𝟎]
𝟎 −𝟏 𝟎 𝒒𝟏
𝟎 𝟎 𝟎 𝟏

• Matriz de transformación del sistema 2 al 1.


Cálculo Matlab

𝟏 𝟎 𝟎 𝟎
𝑨𝟐 𝟏 = [𝟎 𝟎 −𝟏 𝟎 ]
𝟎 𝟏 𝟎 𝒒𝟐
𝟎 𝟎 𝟎 𝟏
• Matriz de transformación del sistema 3 al 2.
Cálculo Matlab

𝐜𝐨𝐬⁡(𝒒𝟑) −𝐬𝐢𝐧⁡(𝒒𝟑) 𝟎 𝒍𝟐 ∙ 𝐜𝐨𝐬⁡(𝒒𝟑)


𝐬𝐢𝐧⁡(𝒒𝟑) 𝐜𝐨𝐬⁡(𝒒𝟑) 𝟎 𝒍𝟐 ∙ 𝐬𝐢𝐧⁡(𝒒𝟑)
𝑨𝟑 𝟐 =[ ]
𝟎 𝟎 𝟏 𝟎
𝟎 𝟎 𝟎 𝟏

• Matriz de transformación del sistema 2 al 0.


1 0 0 𝑙1 1 0 0 0
𝐴2 0 = 𝐴1 0 ∙ 𝐴21 = [0 0 1 0 ] ∙ [0 0 −1 0]
0 −1 0 𝑞1 0 1 0 𝑞2
0 0 0 1 0 0 0 1
Cálculo Matlab

𝟏 𝟎 𝟎 𝒍𝟏
𝒒𝟐
𝑨𝟐 𝟎 = [𝟎 𝟏 𝟎 ]
𝟎 𝟎 𝟏 𝒒𝟏
𝟎 𝟎 𝟎 𝟏

• Matriz de transformación del sistema 3 al 0.


1 0 0 𝑙1 cos⁡(𝑞3) −sin⁡(𝑞3) 0 𝑙2 ∙ cos⁡(𝑞3)
𝑞2 sin⁡(𝑞3) cos⁡(𝑞3) 𝑙2 ∙ sin⁡(𝑞3) ]
𝐴3 0 = 𝐴2 0 ∙ 𝐴3 2 = [0 1 0 ]∙[ 0
0 0 1 𝑞1 0 0 1 0
0 0 0 1 0 0 0 1
Cálculo Matlab

𝐜𝐨𝐬⁡(𝒒𝟑) −𝐬𝐢𝐧⁡(𝒒𝟑) 𝟎 𝒍𝟐 ∙ 𝐜𝐨𝐬(𝒒𝟑) + 𝒍𝟏


𝐬𝐢𝐧⁡(𝒒𝟑) 𝐜𝐨𝐬⁡(𝒒𝟑) 𝟎 𝒍𝟐 ∙ 𝐬𝐢𝐧(𝒒𝟑) + 𝒒𝟐]
𝑨𝟑 𝟎 = [
𝟎 𝟎 𝟏 𝒒𝟏
𝟎 𝟎 𝟎 𝟏
• Sistemas de ecuación que producen la posición y orientación del robot PPR
Cálculo Matlab

𝒙 = 𝒍𝟏 + 𝒍𝟐 ∙ 𝐜𝐨𝐬⁡(𝒒𝟑)
𝒚 = 𝒒𝟐 + 𝒍𝟐 ∙ 𝐬𝐢𝐧⁡(𝒒𝟑)
𝒛 = 𝒒𝟏

• Matriz Jacobiana Directa


𝜕𝑥 𝜕𝑥 𝜕𝑥
𝜕𝑞1 𝜕𝑞2 𝜕𝑞3
𝜕𝑦 𝜕𝑦 𝜕𝑦
𝑱=
𝜕𝑞1 𝜕𝑞2 𝜕𝑞3
𝜕𝑧 𝜕𝑧 𝜕𝑧
[𝜕𝑞1 𝜕𝑞2 𝜕𝑞3]
Cálculo Matlab

𝟎 𝟎 −𝒍𝟐 ∗ 𝒔𝒊𝒏(𝒒𝟑)
𝑱 = [𝟎 𝟏 𝒍𝟐 ∗ 𝒄𝒐𝒔(𝒒𝟑) ]
𝟏 𝟎 𝟎
• Valores de J resultantes
Cálculo Matlab

𝒙̇ = −𝒍𝟐 ∙ 𝒔𝒊𝒏⁡(𝒒𝟑)
𝒚̇ = 𝒍𝟐 ∙ 𝒄𝒐𝒔⁡(𝒒𝟑)
𝒛̇ = 𝟎

• ANEXOS
CÓDIGO

%% ROBOT PPR
% UNIVERSIDAD POLITECNICA SALESIANA
% NOMBRES: SANTIAGO FEICAN, PABLO GÓMEZ, ROMANELLA SORIA
% MATERIA: ROBÓTICA
% INGENIERIA MECATRONICA 9NO CICLO
clc;
clear all;
close all;

%% Cinemática Directa
syms q1 q2 q3 l1 l2;

% Valores de los angulos theta i


theta1 = 0;
theta2 = 0;
%Calculo de senos y cosenos
cos_theta1 = cosd(theta1);
sin_theta1 = sind(theta1);
cos_theta2 = cosd(theta2);
sin_theta2 = sind(theta2);
cos_theta3 = cos(q3);
sin_theta3 = sin(q3);
%Valores de las distancias di
d1 = q1;
d2 = q2;
d3 = 0;

%Valores de distancias ai
a1 = l1;
a2 = 0;
a3 = l2;

%Valores angulos alfa i


alfa1 = -90;
alfa2 = 90;
alfa3 = 0;

%Calculo de senos y cosenos de alfa i


cos_alfa1 = cosd(alfa1);
sin_alfa1 = sind(alfa1);
cos_alfa2 = cosd(alfa2);
sin_alfa2 = sind(alfa2);
cos_alfa3 = cosd(alfa3);
sin_alfa3 = sind(alfa3);

% Matrices de Transformación Parciales


A01 = simplify ([cos_theta1 -cos_alfa1*sin_theta1 sin_alfa1*sin_theta1
a1*cos_theta1; sin_theta1 cos_alfa1*cos_theta1 -sin_alfa1*cos_theta1
a1*sin_theta1; 0 sin_alfa1 cos_alfa1 d1; 0 0 0 1])
A12 = simplify ([cos_theta2 -cos_alfa2*sin_theta2 sin_alfa2*sin_theta2
a2*cos_theta2; sin_theta2 cos_alfa2*cos_theta2 -sin_alfa2*cos_theta2
a2*sin_theta2; 0 sin_alfa2 cos_alfa2 d2; 0 0 0 1])
A23 = simplify ([cos_theta3 -cos_alfa3*sin_theta3 sin_alfa3*sin_theta3
a3*cos_theta3; sin_theta3 cos_alfa3*cos_theta3 -sin_alfa3*cos_theta3
a3*sin_theta3; 0 sin_alfa3 cos_alfa3 d3; 0 0 0 1])

% Matriz de Transformación Completa


A02 = A01*A12
A03 = A02*A23

%% Matriz Jacobiana
xo = A03(1,4)
yo = A03(2,4)
zo = A03(3,4)
% Factores de Jacobianos
q1_1=diff(xo,q1);
q1_2=diff(yo,q1);
q1_3=diff(zo,q1);

q2_1=diff(xo,q2);
q2_2=diff(yo,q2);
q2_3=diff(zo,q2);

q3_1=diff(xo,q3);
q3_2=diff(yo,q3);
q3_3=diff(zo,q3);

% Matriz de Jacobiano Directa


J=[q1_1 q2_1 q3_1;q1_2 q2_2 q3_2;q1_3 q2_3 q3_3]

% Parametros Jacobiano
dx= J(1,3) %Xprima
dy= J(2,3) %Yprima
dz= J(3,3) %Zprima