|
This example computes the forward kinematics for the offset articulate manipulator in a specific configuration.
clear all
theta1 = 90; % deg theta2 = 90; % deg theta3 = -180; % deg theta23 = theta2 + theta3; % deg theta4 = 90; % deg theta5 = 90; % deg theta6 = -90; % deg
a2 = 43; % cm d3 = 18; % cm d4 = 43; % cm
U512 = -cosd(theta5)*sind(theta6); U522 = -sind(theta5)*sind(theta6); U412 = U512*cosd(theta4) - sind(theta4)*cosd(theta6); U413 = -cosd(theta4)*sind(theta5); U422 = U512*sind(theta4) + cosd(theta4)*cosd(theta6); U423 = -sind(theta4)*sind(theta5); U212 = U412*cosd(theta23) - U522*sind(theta23); U213 = U413*cosd(theta23) - sind(theta23)*cosd(theta5); U214 = a2*cosd(theta2) - d4*sind(theta23); U222 = U412*sind(theta23) + U522*cosd(theta23); U223 = U413*sind(theta23) + cosd(theta23)*cosd(theta5); U224 = a2*sind(theta2) + d4*cosd(theta23);
U112 = U212*cosd(theta1) - U422*sind(theta1); U122 = U212*sind(theta1) + U422*cosd(theta1); j6Res0 = [U112; U122; U222];
U113 = U213*cosd(theta1) - U423*sind(theta1); U123 = U213*sind(theta1) + U423*cosd(theta1); k6Res0 = [U113; U123; U223];
i6Res0 = cross(j6Res0, k6Res0);
U114 = U214*cosd(theta1) + d3*sind(theta1); U124 = U214*sind(theta1) - d3*cosd(theta1); X6Rel0Res0 = [U114; U124; U224];
T60 = [i6Res0 j6Res0 k6Res0 X6Rel0Res0; 0 0 0 1]
T60 = 0 0 1 18 0 1 0 43 -1 0 0 43 0 0 0 1
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.