|
This example illustrates a computation with specific joint values for the offset spherical manipulator Jacobian. See textbook example description for an interpretation of the screw coordinates.
clear all
d2 = 18; % cm
theta1 = 90; % deg theta2 = -90; % deg d3 = 50; % cm theta4 = 90; % deg theta5 = 90; % deg theta6 = -90; % deg
U214 = -d3*sind(theta2); U224 = d3*cosd(theta2); U114 = U214*cosd(theta1) + d2*sind(theta1); U124 = U214*sind(theta1) - d2*cosd(theta1); T211 = cosd(theta1)*cosd(theta2); T213 = -cosd(theta1)*sind(theta2); T214 = d2*sind(theta1); T221 = sind(theta1)*cosd(theta2); T223 = -sind(theta1)*sind(theta2); T224 = -d2*cosd(theta1); T411 = T211*cosd(theta4) - sind(theta1)*sind(theta4); T413 = sind(theta1)*cosd(theta4) + T211*sind(theta4); T421 = cosd(theta1)*sind(theta4) + T221*cosd(theta4); T423 = T221*sind(theta4) - cosd(theta1)*cosd(theta4); T431 = sind(theta2)*cosd(theta4); T433 = sind(theta2)*sind(theta4); T513 = T213*cosd(theta5) - T411*sind(theta5); T523 = T223*cosd(theta5) - T421*sind(theta5); T533 = cosd(theta2)*cosd(theta5) - T431*sind(theta5);
Jacobian(:,1) = [ 0; 0; 1; -U124; U114; 0];
Jacobian(:,2) = [sind(theta1); -cosd(theta1); 0; -U224*cosd(theta1); -U224*sind(theta1); U214];
Jacobian(:,3) = [0; 0; 0; T213; T223; cosd(theta2)];
Jacobian(:,4) = [ T213; T223; cosd(theta2); 0; 0; 0];
Jacobian(:,5) = [ T413; T423; T433; 0; 0; 0];
Jacobian(:,6) = [T513; T523; T533; 0; 0; 0];
J6Res0 = Jacobian
J6Res0 = 0 1 0 0 0 1 0 0 0 1 0 0 1 0 0 0 -1 0 -50 0 0 0 0 0 18 0 1 0 0 0 0 50 0 0 0 0
This MATLAB example illustrates a computation from the textbook Fundamentals of Robot Mechanics by G. L. Long, Quintus-Hyperion Press, 2015. See http://www.RobotMechanicsControl.info for additional relevant files.