Sei sulla pagina 1di 78

Universidad Nacional Hermilio

Valdizán de Huánuco

Ingeniería Industrial
Curso: Manufactura Integrada por Computador

Dr. Ing. Aland Bravo Vecorena


Robótica

http://petercorke.com/wordpress/toolboxes/robotics-toolbox
Robótica
Robótica
Robótica
Robótica
Robótica
% 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=linspace(0,1,10)
%x1 =tpoly(-2,3,t1)'
A=-2
B=3
x1 = A + (B - A) * t1
% Repeat this step for 100 time steps.
Robótica
% Store the time vector in t2 and calculated trajectory in variable x2.
t2=linspace(0,1,100)
%x2 =tpoly(-2,3,t2)'
A=-2
B=3
x2 = A + (B - A) * t2
% Modify to achieve the same motion over 5 seconds (still using 100 steps).
% Store the time vector in t3 and calculated trajectory in variable x3.
t3 = 5*linspace(0,1,100)
x3 =tpoly(-2,3,t3)'
%A=-2
%B=3
%x3 = A + (B - A) * t3
% Using the tpoly function plot x(t) against t for a motion from -2 to +3 over 5 seconds in 100 time step
% Store the time vector in tpoly and calculated trajectory in variable xpoly.
tp =5*linspace(0,1,100)
xp =tpoly(-2,3,tp)'
%A=-2
%B=3
%xp = A + (B - A) * tp
% To visualise the resulting trajectory, uncomment the following line of code.
plot(tp,xp);
Robótica
Robótica
Robótica
Robótica
Robótica
Robótica
Robótica
Robótica
Robótica
%% 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
%% Provided variables
a1 = 0.8; a2 = 0.3;
pA = [0 2];
pB = [3 0];
% Codigo personalizado
syms q1 q2
Robótica
aArm1=a1; aArm2=sqrt(a2^2+q2^2)
qArm1=pi/2+q1; qArm2=-atan(q2/a2);
E=trchain2('R(qArm1) Tx(aArm1) R(qArm2) Tx(aArm2)', [qArm1 qArm2])
% For each position pA and pB determine the corresponding joint angles
% qA and qB using inverse kinematics.
%qA =
x=pA(1); y=pA(2);
qArm2=-acos((x^2+y^2-aArm1^2-aArm2^2)/(2*aArm1*aArm2));
qArm1=atan(y/x)+atan((aArm2*sin(qArm2))/(aArm1+aArm2*cos(qArm2)));
qA_xy = [qArm1-pi/2 a2*tan(qArm2)]
q1=0; q2=1.2;
qA=eval([qA_xy(2) qA_xy(1)])
subs(qA)
%qB =
syms q1 q2
aArm1=a1; aArm2=sqrt(a2^2+q2^2)
qArm1=pi/2+q1; qArm2=-atan(q2/a2);
E=trchain2('R(qArm1) Tx(aArm1) R(qArm2) Tx(aArm2)', [qArm1 qArm2])
x=pB(1); y=pB(2);
qArm2=-acos((x^2+y^2-aArm1^2-aArm2^2)/(2*aArm1*aArm2));
qArm1=atan(y/x)+atan((aArm2*sin(qArm2))/(aArm1+aArm2*cos(qArm2)));
qB_xy = [qArm1-pi/2 a2*tan(qArm2)]
q1=5*pi/4; q2=3.2;
qB=eval([qB_xy(2) qB_xy(1)])
subs(qB)
%% Store this in the variable qtraj.
qtraj =jtraj(qA, qB, 50)
% Compute the forward kinematics for every point along the joint trajectory qtraj.
x = qtraj(:,1)
y = qtraj(:,2)
% If you have correctly computed the end-effector trajectory, you can visualise it using
figure; plot(x,y)
xlabel('x'); ylabel('y'); grid on
Robótica
Robótica
Robótica
Robótica
Robótica
% 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
Robótica
Robótica
Robótica
Robótica
Robótica
Robótica
Robótica
Robótica
Robótica
Robótica
Robótica
Robótica
Robótica
Robótica
Robótica
Robótica
Robótica
Robótica
Robótica
Robótica
Robótica
Robótica
Robótica
Robótica
Robótica
Robótica
Robótica
Robótica
Robótica
Robótica
Robótica
Robótica
Robótica
Robótica
Robótica
Robótica
Robótica
Robótica
Robótica
Robótica
Robótica
Robótica
Robótica
Robótica
Robótica
Robótica
Robótica
Robótica
Robótica
Robótica
Robótica
Robótica
Robótica
Promedio de Nota del Curso: (EP+EF+PP+PFC)/4

Promedio de Prácticas (PP):


 TAREA 1: Electroneumática
 TAREA 2: PLCs
 TAREA 3: Fundamentos de Robótica (Opcional)
 TAREA 4: Robótica Aplicada

Exámen Parcial (EP)

Exámen Final (EF)

Proyecto de Fin de Curso (PFC)


 SCADA con PLC
 Factory IO con PLC Siemens
 Robótica con MITSUBISHI-FESTO-COSIMIR/MATLAB
Grupos de Investigación
 G1: Automatización SCADA con PLCs de
las Estaciones de Trabajo del Laboratorio
CIM.
 G2: Automatización de una Fábrica en 3D
con Factory I/O para Cadenas Productivas
de la Región Huánuco.
 G3: Modelado y Control de Trayectorias del
Robot SCARA en MATLAB / CIROS.
Universidad Nacional Hermilio
Valdizán de Huánuco

Ingeniería Industrial
Curso: Manufactura Integrada por Computador

Dr. Ing. Aland Bravo Vecorena

Potrebbero piacerti anche