Sei sulla pagina 1di 7

Manufactura Integrada por Computadora

Docente Ing. Dr. Aland Bravo Vecorena


TAREA N° 4 (ROBOTICA APLICADA)

Resuelva los siguientes ejercicios tomados del libro: “Robotics, Vision and Control” del Profesor
Peter Corke de la Universidad Tecnológica de Queensland - Australia, para lo cual deberá instalar
MATLAB 2017 y la librería Robotics Toolbox for MATLAB.mltbx. Asimismo, deberá instalar el
programa COSIMIR de FESTO para validar su proyecto en los brazos robóticos del laboratorio CIM
de la UNHEVAL.

Pregunta 1 (Cinemática Directa en un Plano):

El diseño de un nuevo robot planar pequeño se muestra en la figura, junto con sus dimensiones en
unidades de centímetros.

El robot se muestra en su configuración de ángulo cero, y se indica la dirección del aumento angular
positivo.

 Encuentre la posición del actuador final y su orientación cuando los ángulos de las juntas
del robot están dados por los elementos del vector del espacio de trabajo q en unidades de
grados.
 Devuelva la coordenada x del actuador final en la variable de espacio de trabajo x en metros,
la coordenada y del actuador final y en metros, y la orientación en grados en la variable de
espacio de trabajo theta.

% Provided variables
q = [30 -20];
% Find the pose of the end-effector and store in the variable T.
T =
% Find the x-coordinate in metres and store in the variable x.
x =

Facultad de Ingeniería Industrial y Sistemas - UNHEVAL


Manufactura Integrada por Computadora
Docente Ing. Dr. Aland Bravo Vecorena
% Find the y-coordinate in metres and store in the variable y.
y =
% Find the orientation angle by examining elements of the
% rotation submatrix, element (1,1) which is equal to cos(theta).
% Store in the variable theta.
theta =

Pregunta 2: (Brazo Prismático Rotatorio)

Considere un brazo robótico como se muestra a continuación que tiene una articulación giratoria y
una articulación prismática.

 Determine la cinemática inversa para este robot. Las siguientes identidades pueden ser
útiles para usted. Una ecuación de la forma: 𝑎 cos 𝜃 + 𝑏 sin 𝜃 , tiene dos soluciones
dadas por:
𝑐 𝑎
𝜃 = tan−1 − tan−1
√𝑎2 + 𝑏2 − 𝑐2 𝑏
 Las dimensiones del robot están dadas por las variables del espacio de trabajo a1 y a2.
 Las coordenadas de un punto P1 en el espacio de trabajo planar del robot vienen dadas por
la variable de espacio de trabajo P1. Determine las coordenadas conjuntas
correspondientes requeridas para llegar a este punto y guárdelas en la variable q del espacio
de trabajo como un vector de fila de 2 elementos en las unidades apropiadas (metros si es
distancia, radianes si es ángulo).

Facultad de Ingeniería Industrial y Sistemas - UNHEVAL


Manufactura Integrada por Computadora
Docente Ing. Dr. Aland Bravo Vecorena
 La unión prismática del robot tiene un rango limitado dado por las variables de espacio de
trabajo q2_min y q2_max que denotan respectivamente el valor mínimo y máximo de q2.
 Se describen una cantidad de puntos por columnas de la variable de espacio de trabajo
Points. Cree un vector de fila lógico con el mismo número de columnas que Points cuyos
elementos son verdaderos si el robot puede alcanzar el punto correspondiente. Guarde este
vector en la variable de espacio de trabajo reachable.

Nota: Tenga en cuenta que la imagen muestra el brazo del robot con q1 = 0 y este ángulo se mide
en el sentido contrario a las agujas del reloj.
%% Provided variables
a1 = 0.8; a2 = 0.3;
P1 = [0 1.2];
q2_min = 0.1;
q2_max = 0.9;
Points = [0.5 0.6 0.7 0.8 0.9 1 1.1;
0.5 0.6 0.7 0.8 0.9 1 1.1];

%% YOUR ANSWER BELOW HERE


q =
reachable =

Pregunta 3: (Interpolación de un escalar)

Escribir un programa MATLAB para implementar la ecuación: 𝑥(𝑡) = 𝐴 + (𝐵 − 𝐴)𝑡, y

 Determine los valores de x (t) dado t, con x variando de -2 a +3 y t variando de 0 a 1 en 10 pasos.


Almacene el vector del tiempo en t1 y la trayectoria resultante en x1.
 Repita esto, pero ahora para 100 pasos de tiempo. Almacene el vector de tiempo en t2 y la
trayectoria resultante en x2.
 Modifique su programa para un movimiento con x variando de +4 y -1 durante 5 segundos (y
aun usando 100 pasos de tiempo). Almacene el vector de tiempo en t3 y la trayectoria resultante
en x3.
 Utilice la función tpoly para generar interpolación polinómica para un movimiento de -2 a +3 en
100 pasos de tiempo. Almacene el vector de tiempo en tp y la trayectoria resultante en la
variable xp.
 Dibuje xp versus el tiempo. Ver código provisto de referencia.

% Calculate x(t), with x varying from -2 to +3 and t varying from 0 to 1 in


10 steps.
% Store the time vector in t1 and calculated trajectory in variable x1.
t1 =
x1 =
% Repeat this step for 100 time steps.
% Store the time vector in t2 and calculated trajectory in variable x2.
t2 =
x2 =
% Modify to achieve the same motion over 5 seconds (still using 100 steps).

Facultad de Ingeniería Industrial y Sistemas - UNHEVAL


Manufactura Integrada por Computadora
Docente Ing. Dr. Aland Bravo Vecorena
% Store the time vector in t3 and calculated trajectory in variable x3.
t3 =
x3 =
% Using the tpoly function plot x(t) against t for a motion from -2 to +3
over 5 seconds in 100 time steps.
% Store the time vector in tpoly and calculated trajectory in variable
xpoly.
tp =
xp =
% To visualise the resulting trajectory, uncomment the following line of
code.
% plot(tp,xp);

Pregunta 4: (Interpolación de una Articulación en 2D)

En los ejercicios anteriores se vio cómo determinar la cinemática directa e inversa para un simple
robot de 2 articulaciones. En particular, aprendimos cómo determinar la cinemática inversa del
robot que se muestra a continuación, y para hacerlo tuvimos que encontrar primero su cinemática
de avance. Tenga en cuenta que la imagen muestra el brazo del robot con y este ángulo se mide
en el sentido contrario a las agujas del reloj.

Primero necesitamos codificar las ecuaciones cinemáticas para el robot que se muestra arriba con
las dimensiones a1=0.8 y a2=0.3.

 Desarrolle y pruebe el código de MATLAB para la cinemática directa e inversa del robot. Su
solución del ejercicio previo será muy relevante aquí. Una buena forma de probar el código
cinemático es explotar la naturaleza inversa de la cinemática directa e inversa: dado un conjunto
de valores de unión de la articulación, la cinemática hacia adelante proporciona la posición del
actuador final y la cinemática inversa debe dar los valores originales de la articulación.

Facultad de Ingeniería Industrial y Sistemas - UNHEVAL


Manufactura Integrada por Computadora
Docente Ing. Dr. Aland Bravo Vecorena

Ahora definiremos la posición inicial y final de nuestro robot, no en términos de ángulos de


articulación sino en términos de posiciones de los actuadores finales.
 La trayectoria del robot comienza con su actuador final en la posición pA = (0,2) y termina en la
posición pB = (3,0).
 Para cada posición pA y pB, determine los ángulos de juntura correspondientes qA y qB
utilizando cinemática inversa.
 Calcule una trayectoria interpolada conjunta entre qA y qB en pasos de cincuenta veces durante
10 segundos usando la función jtraj explicado en clase. Almacene esto en la variable qtraj.
 Si ha tenido la variable qtraj calculada correctamente, puede ver la trayectoria del actuador final
con el comando figure; plot(t, qtraj) donde t es el vector de tiempo.

Ahora sabemos cómo los valores conjuntos de nuestro robot cambian para pasar de pA a pB,
pero ¿cómo varía la posición entre ellos?
 Usando las ecuaciones cinemáticas directas, calcule la posición del actuador final para cada
punto a lo largo de la trayectoria conjunta que acaba de calcular. Almacene los valores x de la
trayectoria del actuador final en el vector x, y los valores de y en el vector y.
 Si ha tenido las variables x e y calculadas correctamente, puede ver la trayectoria del actuador
final con el comando figure; plot(x, y). ¿El final del robot se mueve en línea recta o en curva?
 Para resolver este problema, necesitará calcular la cinemática inversa dos veces, y puede
hacerlo cortando y pegando el código. Puede hacer que su código sea más ordenado y más fácil
de entender si crea una función MATLAB para realizar la cinemática inversa.
 %% Provided variables
 a1 = 0.8; a2 = 0.3;
 pA = [0 2];
 pB = [3 0];
 % For each position pA and pB determine the corresponding joint angles
 % qA and qB using inverse kinematics.
 qA =
 qB =
 % Try using forward kinematics to check that the joint configurations
 % Compute a joint interpolated trajectory between qA and qB in fifty
times
 % steps over 10 seconds using the jtraj function as discussed previously.
 % Store this in the variable qtraj.
 qtraj =
 % Compute the forward kinematics for every point along the joint
trajectory qtraj.
 x =
 y =
 % If you have correctly computed the end-effector trajectory, you can
visualise it using
 % figure; plot(x,y)
 % xlabel('x'); ylabel('y'); grid on

Facultad de Ingeniería Industrial y Sistemas - UNHEVAL


Manufactura Integrada por Computadora
Docente Ing. Dr. Aland Bravo Vecorena
Pregunta 5: (Interpolación Cartesiana en 2D)

Este ejercicio requerirá la cinemática directa e inversa para el robot que se muestra a continuación,
que determinó en el ejercicio anterior. Tenga en cuenta que la imagen muestra el brazo del robot
con q1 = 0 y este ángulo se mide en el sentido contrario a las agujas del reloj.

Pasaremos del punto pA al punto pB usando la interpolación cartesiana en 50 pasos durante 10


segundos.

 Calcule la posición del actuador final del robot en cada paso de tiempo. El resultado debe ser
una matriz de 50x2 guardada en la variable P, donde cada fila es la posición x-y en ese paso de
tiempo.
 Para cada posición a lo largo de la trayectoria del actuador final, es decir, cada fila de P,
determine los ángulos de articulación correspondientes utilizando la cinemática inversa.
Almacene los valores de la articulación 1 en la columna 1 y los valores de la articulación 2 en la
columna 2 de la variable qtraj.
 Si ha calculado correctamente las trayectorias conjuntas, puede visualizar las trayectorias
conjuntas durante 10 segundos con el comando:

t = linspace(0,10,50);

figure; plot(t, q)

Ahora sabemos cómo los valores conjuntos de nuestro robot cambian para pasar de pA a pB, pero
¿cómo varía la posición entre ellos?

Facultad de Ingeniería Industrial y Sistemas - UNHEVAL


Manufactura Integrada por Computadora
Docente Ing. Dr. Aland Bravo Vecorena
 Usando las ecuaciones de la cinemática directa, calcule la posición del actuador final para cada
punto a lo largo de la trayectoria conjunta que acaba de calcular. Almacene los valores x de la
trayectoria del actuador final en el vector x, y los valores y en el vector y.
 Si ha tenido la variable x e y calculada correctamente, puede ver la trayectoria del actuador final
con el comando figure; plot(x, y). ¿El final del robot se mueve en línea recta o en curva?

% Provided variables
a1 = 0.8; a2 = 0.3;
pA = [0 2];
pB = [3 0];
% Compute the robot end-effector position between point pA to point pB
% using Cartesian interpolation in 50 steps over 10 seconds.
P =
% For each position along the end-effector trajectory determine the
% corresponding joint angles using inverse kinematics. Store the joint 1
% values in column 1 and the joint 2 values in column 2 of the variable
qtraj.
qtraj =
% If you have correctly computed the joint trajectories, you can visualise
these with
% figure; plot(linspace(0,10,50),q)
% xlabel('t'); ylabel('q'); grid on
% Using the forward kinematic equations compute the end-effector position
for
% every point along the joint trajectory you just computed. Store the x
values
% of the end-effector's trajectory in the vector x and the y values in the
vector y.
x =
y =
% If you have correctly computed the end-effector trajectory, you can
visualise it using
% figure; plot(x, y)
% xlabel('x'); ylabel('y'); grid on

Pregunta 6: (Práctica con FESTO-COSIMIR)

Elabore un programa básico para programar una trayectoria lineal utilizando el brazo robótico de
FESTO-MITSUBISHI con el software COSIMIR.

Facultad de Ingeniería Industrial y Sistemas - UNHEVAL

Potrebbero piacerti anche