|
This example illustrates a computation for the joint torques/forces when the offset spherical manipulator applies a wrench on its environment.
clear all
W6Res6 = [-8.090; 0; 5.878; 0; -207.983; 0]; % [force (N); moment (N-cm)]
d2 = 18; % cm
theta1 = 112.71; % deg theta2 = -61.01; % deg d3 = 47.13; % cm theta4 = 64.52; % deg theta5 = 20.30; % deg theta6 = -76.82; % deg
U511 = cosd(theta5)*cosd(theta6); U512 = -cosd(theta5)*sind(theta6); U521 = sind(theta5)*cosd(theta6); U522 = -sind(theta5)*sind(theta6); U411 = U511*cosd(theta4) - sind(theta4)*sind(theta6); U412 = U512*cosd(theta4) - sind(theta4)*cosd(theta6); U413 = -cosd(theta4)*sind(theta5); U421 = U511*sind(theta4) + cosd(theta4)*sind(theta6); U422 = U512*sind(theta4) + cosd(theta4)*cosd(theta6); U423 = -sind(theta4)*sind(theta5); U211 = U411*cosd(theta2) - U521*sind(theta2); U212 = U412*cosd(theta2) - U522*sind(theta2); U213 = U413*cosd(theta2) - sind(theta2)*cosd(theta5); U214 = -d3*sind(theta2); U221 = U411*sind(theta2) + U521*cosd(theta2); U222 = U412*sind(theta2) + U522*cosd(theta2); U223 = U413*sind(theta2) + cosd(theta2)*cosd(theta5);
J6Res6(:,1) = [U221; U222; U223; d2*U211+U214*U421; d2*U212+U214*U422; d2*U213+U214*U423]; J6Res6(:,2) = [-U421; -U422; -U423; -d3*U411; -d3*U412; -d3*U413]; J6Res6(:,3) = [0; 0; 0; U521; U522; cosd(theta5)]; J6Res6(:,4) = [U521; U522; cosd(theta5); 0; 0; 0]; J6Res6(:,5) = [-sind(theta6); -cosd(theta6); 0; 0; 0; 0]; J6Res6(:,6) = [0; 0; 1; 0; 0; 0]; J6Res6
J6Res6 = -0.8110 0.2258 0 0.0791 0.9737 0 0.0001 -0.9225 0 0.3378 -0.2280 0 0.5851 0.3132 0 0.9379 0 1.0000 0.4067 -45.7610 0.0791 0 0 0 44.9779 -8.8140 0.3378 0 0 0 0.5535 7.0342 0.9379 0 0 0
PI = [zeros(3) eye(3); eye(3) zeros(3)];
Tau = transpose(J6Res6)*PI*W6Res6 % [ N-cm; N-cm; N; N-cm; N-cm; N-cm]
Tau = -0.0649 603.4080 4.8730 -70.2560 47.4224 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 other relevant files.