Matlab Robots
Matlab Robots
Campus Hermosillo
Actividad:
Cinemática Inversa
PRESENTA
Toledo Cota Judas Ernesto | 19600345
TUTOR:
Ingeniería Mecatrónica
ROBOTICA
T8C
Hermosillo, Sonora.
A 20 de marzo de 2023
RESUMEN CINEMATICA INVERSA
El capítulo 4.1 se centra en la resolución del problema cinemático directo, que se refiere a
la tarea de calcular la posición y orientación final del extremo del robot (su efector final) a
partir de las posiciones y ángulos de sus articulaciones.
La sección 4.1.1 aborda la resolución del problema cinemático directo mediante métodos
geométricos. Este enfoque implica el uso de la trigonometría y la geometría para calcular
las posiciones y orientaciones finales del extremo del robot a partir de las coordenadas y
ángulos de sus articulaciones. Este método se puede utilizar en robots con pocas
articulaciones y geometría simple.
La sección 4.1.3 describe el algoritmo de Denavit Hartenberg para la obtención del modelo
cinemático directo. Este algoritmo es una técnica comúnmente utilizada para la
representación de la cinemática directa de los robots. El algoritmo se basa en una
convención de denominada Denavit-Hartenberg (DH) que define un marco de referencia
para cada articulación del robot y establece una serie de parámetros para describir la
relación entre los marcos de referencia. El algoritmo utiliza estos parámetros para calcular
la posición final del efector.
La sección 4.1.4 aborda la solución del problema cinemático directo mediante el uso de
cuaternios. Los cuaternios son una herramienta matemática que permite describir la
orientación del efector final en el espacio de manera eficiente. Este enfoque es
particularmente útil para la programación de robots que requieren movimientos suaves y
continuos, ya que permite una interpolación suave entre diferentes posiciones y
orientaciones.
La cinemática inversa
En la sección 4.3.1 se introduce la Jacobiana analítica, que es una matriz que relaciona las
velocidades de las articulaciones con la velocidad en el espacio del extremo del robot. La
Jacobiana analítica se obtiene a partir de las derivadas parciales de las ecuaciones
cinemáticas directas del robot y se utiliza en el análisis y control de robots con un número
reducido de grados de libertad.
En la sección 4.3.2 se presenta la Jacobiana geométrica, que es una matriz que relaciona las
velocidades de las articulaciones con la velocidad en el espacio del extremo del robot de
manera más general que la Jacobiana analítica. Se utiliza en el análisis y control de robots
con múltiples grados de libertad y es especialmente útil en situaciones en las que el robot se
encuentra en configuraciones singulares.
En la sección 4.3.5 se introduce la Jacobiana inversa, que permite calcular las velocidades
de las articulaciones necesarias para alcanzar una velocidad y orientación deseada en el
espacio. Esta matriz se utiliza en el control de robots para seguir trayectorias en el espacio.
2.- ¿Cuál es la fórmula para la cinemática inversa del robot planar de dos grados de
libertad?
x2 = L1*cos(q1);
y2 = L1*sin(q1);
x3 = x2 + L2*cos(q1+q2);
y3 = y2 + L2*sin(q1+q2);
axis equal;
case 2
disp('2 ==== Robot antropomorfo (RRR) ====')
us3 = sqrt(1-((x^2+y^2-L2^2-L3^2)/(2*L2*L3))^2);
uc3 = (x^3+y^2+z^2-L2^2-L3^2)/(2*L2*L3);
us2 =
((L2+L3*uc3)*z-L3*us3*sqrt(x^2+y^2))/(x^2+y^2+z^2);
uc2 =
((L2+L3*uc3)*sqrt(x^2+t^2)+L3*us3*z)/(x^2+y^2+z^2);
fRq = [cos(q1)*(L2*cos(q2)+L3*cos(q2+q3));
sin(q1)*(L2*cos(q2)+L3*cos(q2+q3));
L1+L2*sin(q2)+L3*sin(q2+q3);]
x2 = L2*cos(q1);
y2 = L2*sin(q1);
z2 = L1;
x3 = L2*cos(q1) + L3*cos(q2+q3);
y3 = L2*sin(q1) + L3*sin(q2+q3);
z3 = L1 + L3*sin(q2+q3);
% Graficar el robot
figure;
hold on;
plot3([x x2], [y y2], [z z2], 'k', 'LineWidth', 2);
plot3([x2 x3], [y2 y3], [z2 z3], 'k', 'LineWidth', 2);
plot3(x, y, z, 'ko', 'MarkerSize', 10,
'MarkerFaceColor', 'k');
plot3(x2, y2, z2, 'ko', 'MarkerSize', 10,
'MarkerFaceColor', 'k');
plot3(x3, y3, z3, 'ko', 'MarkerSize', 10,
'MarkerFaceColor', 'k');
xlabel('X');
ylabel('Y');
zlabel('Z');
title('POSICIÓN DEL ROBOT ANTROPOMORFO');
axis equal;
case 3
disp('3 ==== SCARA (RRP) ====')
L1= input('Ingrese longitud de eslabon 1: ')
L2= input('Ingrese longitud de eslabon 2: ')
case 4
disp('4 ==== cilíndrico (RPP) ====')
L1 = input ('Ingrese la longitud 1: ')
L2 = input ('Ingrese la longitud 2: ')
L3 = input ('Ingrese la longitud 3: ')
% Graficar el robot
figure
hold on
axis equal
xlabel('x')
ylabel('y')
zlabel('z')
view(-30,30)
otherwise
clear
clc
end
RESULTADOS:
ROBOT PLANAR
ROBOT ANTROPOMORFO
ROBOT SCARA
ROBOT CILINDRICO