Robotics (EL-422) Spring 22 Part 4
Robotics (EL-422) Spring 22 Part 4
Robotics (EL-422)
Handouts No. 4
Teacher:
Dr. Syed Riaz un Nabi Jafri
Spring 22
Department of Electronic Engineering
NED UET
2
Forward Kinematics
kinema (movement, motion)
Calculating location and orientation of robot
hand by using known joints data is known as
(forward) Kinematics
Cartesian robot
3
Forward Kinematics
Cylindrical robot
4
Forward Kinematics
If end effector could rotate along last local frame then we
need its reflection into kinematic representation
6
Forward Kinematics
% A point on a local frame
P_vec = [0;0;0];
P_noa = [1;1;0;1] % point on frame
P_vec = [P_vec,P_noa(1:3)];
plot3(P_vec(1,:),P_vec(2,:),P_vec(3,:),'-rs','LineWidth',2, 'MarkerEdgeColor','k', 'MarkerFaceColor','g', 'MarkerSize',10)
xlabel('X'); ylabel('Y'); zlabel('Z'); grid on; axis equal; hold on;
% first rotation
% thz1=45*pi/180; % angle change of 45 degree
% Rot_z1 = [cos(thz1) -sin(thz1) 0 0; sin(thz1) cos(thz1) 0 0; 0 0 1 0; 0 0 0 1]
% P_xyz = Rot_z1 * P_noa
% P_vec = [0;0;0];
% P_vec = [P_vec,P_xyz(1:3)];
% plot3(P_vec(1,:),P_vec(2,:),P_vec(3,:),'-bs','LineWidth',2, 'MarkerEdgeColor','k', 'MarkerFaceColor','g', 'MarkerSize',10)
% xlabel('X'); ylabel('Y'); zlabel('Z'); grid on; axis equal; hold on;
% adding first link
% trans1=[1 0 0 5; 0 1 0 0; 0 0 1 0; 0 0 0 1];
% thz1=45*pi/180; % angle change of 45 degree
% Rot_z1 = [cos(thz1) -sin(thz1) 0 0; sin(thz1) cos(thz1) 0 0; 0 0 1 0; 0 0 0 1];
% P_vec = [0;0;0];
% P_noa = [1;1;0;1] % point on frame
% P_vec = [P_vec,P_noa(1:3)];
% plot3(P_vec(1,:),P_vec(2,:),P_vec(3,:),'-rs','LineWidth',2, 'MarkerEdgeColor','k', 'MarkerFaceColor','g', 'MarkerSize',10)
% xlabel('X'); ylabel('Y'); zlabel('Z'); grid on; axis equal; hold on;
% P_xyz = Rot_z1*trans1*P_noa;
% P_vec = [0;0;0];
% P_vec = [P_vec,P_xyz(1:3)];
% plot3(P_vec(1,:),P_vec(2,:),P_vec(3,:),'-bs','LineWidth',2, 'MarkerEdgeColor','k', 'MarkerFaceColor','g', 'MarkerSize',10)
% xlabel('X'); ylabel('Y'); zlabel('Z'); grid on; axis equal; hold on;
% adding second link and rotation
% trans2=[1 0 0 5; 0 1 0 0; 0 0 1 0; 0 0 0 1];
% thz2=45*pi/180; % angle change of 45 degree
% Rot_z2 = [cos(thz2) -sin(thz2) 0 0; sin(thz2) cos(thz2) 0 0; 0 0 1 0; 0 0 0 1];
% trans1=[1 0 0 5; 0 1 0 0; 0 0 1 0; 0 0 0 1];
% thz1=45*pi/180; % angle change of 0 degree
% Rot_z1 = [cos(thz1) -sin(thz1) 0 0; sin(thz1) cos(thz1) 0 0; 0 0 1 0; 0 0 0 1];
% P_vec = [0;0;0];
% P_noa = [1;1;0;1] % point on frame
% P_vec = [P_vec,P_noa(1:3)];
% plot3(P_vec(1,:),P_vec(2,:),P_vec(3,:),'-rs','LineWidth',2, 'MarkerEdgeColor','k', 'MarkerFaceColor','g', 'MarkerSize',10)
% xlabel('X'); ylabel('Y'); zlabel('Z'); grid on; axis equal; hold on;
% P_xyz = Rot_z1*trans1*Rot_z2*trans2*P_noa;
% P_vec = [0;0;0];
% P_vec = [P_vec,P_xyz(1:3)];
% plot3(P_vec(1,:),P_vec(2,:),P_vec(3,:),'-bs','LineWidth',2, 'MarkerEdgeColor','k', 'MarkerFaceColor','g', 'MarkerSize',10)
% xlabel('X'); ylabel('Y'); zlabel('Z'); grid on; axis equal; hold on; 7
asd=0;
Inverse Kinematics
Calculating joints data by using known location and
orientation of robot hand is known as inverse
Kinematics
1 0 0 3
0 0.707 -0.707 5 Last location and orientation
0 0.707 0.707 7
0 0 0 1
of Cartesian robot
8
Inverse Kinematics
9
DH parameterization for Stationary robots
DH parameterization for Stationary robots
DH parameterization for Stationary robots
DH parameterization for Stationary robots
DH parameterization for Stationary robots
DH parameterization : example of a 2D
robotic arm
DH parameterization : example of a 2D
robotic arm
DH parameterization : example of a 2D
robotic arm
DH parameterization : example of a 3D
robotic arm