You are on page 1of 18

Chapter 2

Position Analysis
1. The main objectives
• The position analysis of a kinematic chain
requires the determination of
– the joint positions,
– the position of the centers of gravity, and
– the angles of the links with the horizontal axis.
2. Absolute Cartesian Method
• Planar rigid link with two nodes
2. Absolute Cartesian Method
• Exercise : Slider-Crank (R-RRT) Mechanism
– The RRRT linkage is a fundamental machine element found
in everything from automotive engines to door-closing
mechanisms.
– The R-RRT (slider-crank) mechanism has the dimensions:
AB = 0.5 m and BC = 1 m.
– The driver link 1 makes an angle 𝜙 = 𝜙1 = 45° with the
horizontal axis.
– Find the positions of the joints and the angles of the links
with the horizontal axis.
2. Absolute Cartesian Method
% Position analysis
% R-RRT
clear % clears all variables from the workspace
clc % clears the command window and homes the cursor
close all % closes all the open figure windows
% Input data
AB=0.5;
BC=1;
phi = pi/4;
% Position of joint A (origin)
xA = 0; yA = 0;
% Position of joint B - position of the driver link
xB = AB*cos(phi);
yB = AB*sin(phi);
% Position of joint C
yC = 0;
% Distance formula : BC=constant
eqnC = ’( xB - xCsol )ˆ2 + ( yB - yC )ˆ2 = BCˆ2’;
% Solve the above equation
solC = solve(eqnC, ’xCsol’);
% solve symbolic solution of algebraic equations
% Two solutions for xC - vector form
2. Absolute Cartesian Method
% first component of the vector solC
xC1=eval(solC(1));
% second component of the vector solC
xC2=eval(solC(2));
% eval executes string as an expression or statement
% Select the correct position for C
% for the given input angle
if xC1 > xB xC = xC1; else xC = xC2; end
% if conditionally executes statements
% Angle of the link 2 with the horizontal
phi2 = atan((yB-yC)/(xB-xC));
fprintf(’Results \n\n’)
% Print the coordinates of B
fprintf(’xB = %g (m)\n’, xB)
fprintf(’yB = %g (m)\n’, yB)
% Print the coordinates of C
fprintf(’xC = %g (m)\n’, xC)
fprintf(’yC = %g (m)\n’, yC)
% Print the angle phi2
fprintf(’phi2 = %g (degrees) \n’, phi2*180/pi)
2. Absolute Cartesian Method
% Graphic of the mechanism
plot([xA,xB],[yA,yB],’r-o’,...
[xB,xC],[yB,yC],’b-o’),...
xlabel(’x (m)’),...
ylabel(’y (m)’),...
title(’positions for \phi = 45 (deg)’),...
text(xA,yA,’ A’),...
text(xB,yB,’ B’),...
text(xC,yC,’ C’),...
axis([-0.2 1.4 -0.2 1.4]),...
grid
% the commas and ellipses (...) after the commands
% were used to execute the commands together
% end of program
2. Absolute Cartesian Method
• Exercise R-RRT Mechanism : Path of a Point on a Link
with General Plane Motion
– The mechanism has AB = 0.5 m and BC = 1 m. The link 2
(connecting rod BC) has a general plane motion:
translation along the x-axis, translation along the y-axis,
and rotation about the z-axis.
– The mass center of link 2 is located at C2.
– Determine the path of point C2 for a complete rotation of
the driver link 1.
2. Absolute Cartesian Method
% Position analysis
% R-RRT
% Path of C2 (mass center of link BC)
clear all; clc; close all
AB = .5; BC = 1; xA = 0; yA = 0; yC = 0;
incr = 0 ;
for phi=0:pi/10:2*pi,
xB = AB*cos(phi);
yB = AB*sin(phi);
xC = xB + sqrt(BCˆ2-yBˆ2);
incr = incr + 1;
xC2(incr)=(xB+xC)/2;
yC2(incr)=(yB+yC)/2;
% Graphic of the mechanism
subplot(2,1,1),...
plot( [xA,xB],[yA,yB],’r-’,...
[xB,xC],[yB,yC],’b-’ ),...
hold on
xlabel(’x (m)’), ylabel(’y (m)’),...
title(’Graphic of the mechanism’),...
text(xC2,yC2,’C2’),...
axis([-0.6 1.6 -0.6 0.6]),...
end % end for
2. Absolute Cartesian Method
% Path of C2 (mass center of link 2)
subplot(2,1,2),...
plot(xC2, yC2, ’-ko’),...
xlabel(’x (m)’), ylabel(’y (m)’),...
title(’Path described by C2’), grid
% end of program
2. Absolute Cartesian Method
• Creating a Movie
– The planar mechanism considered is R-RTR-RTR. The
driver link is the rigid link 1 (the link AB). The following
numerical data are given: AB= 0.15 m, AC =0.10
m,CD=0.15 m, DF =0.40 m, and AG =0.30 m.
2. Absolute Cartesian Method
AB=0.15; AC=0.10; CD=0.15; %(m)
xA = 0; yA = 0; xC = 0 ; yC = AC;

% allocate/initialize the matrix to have 12 frames


% The statement moviein is used to create a matrix large enough to hold 12 frames
M = moviein(12);
incr = 0;
for phi=0:pi/180:2*pi,
xB = AB *cos(phi); yB = AB*sin(phi);
eqnD1=’(xDsol-xC)ˆ2+(yDsol-yC)ˆ2=CDˆ2’;
eqnD2=’(yB-yC)/(xB-xC)=(yDsol-yC)/(xDsol-xC)’;
solD = solve(eqnD1, eqnD2, ’xDsol, yDsol’);
xDpositions = eval(solD.xDsol); yDpositions = eval(solD.yDsol);
xD1 = xDpositions(1); xD2 = xDpositions(2);
yD1 = yDpositions(1); yD2 = yDpositions(2);
if(phi>=0 && phi<=pi/2)||(phi >= 3*pi/2 && phi<=2*pi)
if xD1 <= xC xD=xD1; yD=yD1;
else xD=xD2; yD=yD2;
end
else
if xD1 >= xC xD=xD1; yD=yD1;
else xD=xD2; yD=yD2;
end
end
2. Absolute Cartesian Method
plot([xA,xB],[yA,yB],’k-o’,...
[xB,xC],[yB,yC],’b-o’,...
[xC,xD],[yC,yD],’b-o’,...
[xD,xA],[yD,yA],’r-o’),...
text(xA,yA,’ A’),
text(xB,yB,’ B’),...
text(xC,yC,’ C’),
text(xD,yD,’ D’),
grid;
% xlim([Xmin Xmax])
% sets the x limits to the specified values
xlim([-0.3 0.3]);
% ylim([Ymin Ymax])
% sets the x limits to the specified values
ylim([-0.3 0.3]);
incr = incr + 1;
%The statement, getframe returns the contents of the current axes, exclusive of the axis labels, title, or tick labels
M(:,incr) = getframe;
% record the movie
end
% end for
movie2avi(M,’RRTRRTR.avi’);
3. Vector Loop Method
• First the independent closed loops are
identified.
• A vector equation corresponding to each
independent loop is established.
• The vector equation gives rise to two scalare
quations, one for the horizontal axis x, and
one for the vertical axis y.
3. Vector Loop Method

𝒓𝐴 + 𝒓1 +··· +𝒓𝑛 = 𝒓𝐵
𝑛

෍ 𝒓𝑘 = 𝒓𝐵 − 𝒓𝐴
𝑘=1
𝑛

෍ 𝑥𝑘 cos 𝜙𝑘 = 𝑥𝐵 − 𝑥𝐴
𝑘=1
𝑛

෍ 𝑦𝑘 sin 𝜙𝑘 = 𝑦𝐵 − 𝑦𝐴
𝑘=1
3. Vector Loop Method
• Example : four-bar mechanism(R-RRRmechanism)
3. Vector Loop Method
𝒓0 + 𝒓1 + 𝒓2 + 𝒓3 = 𝟎
𝑟 + 𝑟1 𝑐𝑜𝑠𝜑1 + 𝑟2 𝑐𝑜𝑠𝜑2 − 𝑟3 𝑐𝑜𝑠𝜑3 = 0
ቊ0
𝑟1 𝑠𝑖𝑛𝜑1 + 𝑟2 𝑠𝑖𝑛𝜑2 − 𝑟3 𝑠𝑖𝑛𝜑3 = 0
• Rearranging the two equations
𝑟2 𝑐𝑜𝑠𝜑2 = 𝑟3 𝑐𝑜𝑠𝜑3 − 𝑟0 − 𝑟1 𝑐𝑜𝑠𝜑1
ቊ 𝑟 𝑠𝑖𝑛𝜑 = 𝑟 𝑠𝑖𝑛𝜑 − 𝑟 𝑠𝑖𝑛𝜑
2 2 3 3 1 1
• Squaring both sides of the above equations and adding
𝑟22 = 𝑟02 + 𝑟12 + 𝑟32 − 2𝑟3 𝑐𝑜𝑠𝜑3 𝑟0 + 𝑟1 𝑐𝑜𝑠𝜑1 − 2𝑟1 𝑟3 𝑠𝑖𝑛𝜑1 𝑠𝑖𝑛𝜑3 + 2𝑟0 𝑟1 𝑐𝑜𝑠𝜑1
• or
a sin𝜑3 + 𝑏 𝑐𝑜𝑠𝜑3 = 𝑐
• where
𝑎 = sin𝜑1
ቐ 𝑏 = 𝑐𝑜𝑠𝜑1 + (𝑟0 /𝑟1 ),
𝑐 = (𝑟0 /𝑟3 )𝑐𝑜𝑠𝜑1 + [ (𝑟02 + 𝑟12 + 𝑟32 − 𝑟22 )/(2𝑟1 𝑟3 )].
3. Vector Loop Method
• Using the relations
𝜑3
sin𝜑3 = 2𝑡𝑎 𝑛 /[1 + 𝑡𝑎𝑛2 (𝜑3 /2)]
2
• and
cos𝜑3 = [ 1 − 𝑡𝑎𝑛2 (𝜑3 /2)]/[1 + 𝑡𝑎𝑛2 (𝜑3/2)]
• The following relation is obtained:
𝑏 + 𝑐 𝑡𝑎𝑛2 𝜑3 /2 − 2a 𝑡𝑎𝑛(𝜑3 /2) + (𝑐 − 𝑏) = 0
• Thus, for each given value of 𝜑1 and the length of the links, two
distinct values of the angle 𝜑3 are obtained
tan(𝜑3 /2) = (𝑎 ± 𝑎2 + 𝑏 2 − 𝑐 2 )/(𝑏 + 𝑐)
• The angle 𝜑2 can be obtained from
𝑟2 𝑐𝑜𝑠𝜑2 = 𝑟3 𝑐𝑜𝑠𝜑3 − 𝑟0 − 𝑟1 𝑐𝑜𝑠𝜑1
ቊ 𝑟 𝑠𝑖𝑛𝜑 = 𝑟 𝑠𝑖𝑛𝜑 − 𝑟 𝑠𝑖𝑛𝜑
2 2 3 3 1 1

You might also like