Effacer les filtres
Effacer les filtres

How to plot Trajectories of simple mechanism

4 vues (au cours des 30 derniers jours)
Ali Anil Demircali
Ali Anil Demircali le 24 Sep 2016
Commenté : Roger Stafford le 25 Sep 2016
Hi,
I have been trying to find trajectory equation of simple mechanism's motion. As you see from figure below that short links are r, long links are 2r, 60 degree between them and each movement about to 45 degree. I'd like to calculate trajectory from mathematical equation

Réponse acceptée

Roger Stafford
Roger Stafford le 24 Sep 2016
The trajectory you speak of is, in effect, one of the two points of intersection of two circles of radius 2*r whose centers are at the respective circumference points of the two circles in your diagram. I gave the solution to such a problem in the ‘Answers’ forum entry at:
http://www.mathworks.com/matlabcentral/answers/105971
In that answer the P1 and P2 for you would be the column vectors of the coordinates of your two circumference points, P1 on the left circle and P2 on the right circle. The solution Q1 which is off to the left side as you move from P1 to P2 would be your desired trajectory point.
  2 commentaires
Ali Anil Demircali
Ali Anil Demircali le 25 Sep 2016
Modifié(e) : Ali Anil Demircali le 25 Sep 2016
Hi Roger,
I tried to use your solution however my basic calculations which are given below as a new figure that show different answer wrt to matlab script. My goal is to explain "T : Trajectory" point of this mechanism. I just wonder, have I missed something ?
Best,
Roger Stafford
Roger Stafford le 25 Sep 2016
Here is code for generating your "trajectory" points. The display here with the plot function may not be what you want, so you’ll have to adjust that according to your needs.
Note that the code provides for the general case where r1 and r2 may be different. In your case they are equal and you could simplify some of the expressions where r1-r2 occurs.
n = 100; % Number of desired points
t1 = linspace(3/4*pi,11/4*pi,n); % Angle on left circle
t2 = linspace(5/4*pi,-3/4*pi,n); % Angle on right circle
R = 1; % Radius of circles
p1 = [-R+R*cos(t1);R*sin(t1)]; % Points on left circle
p2 = [+R+R*cos(t2);R*sin(t2)]; % Points on right circle
r1 = 2*R; r2 = 2*R; % Lengths of connecting bars
Q = zeros(2,n); % Allocate space for “trajectory” points
for k = 1:n
P1 = p1(:,k);
P2 = p2(:,k);
P21 = P2-P1;
d2 = sum((P21).^2);
P0 = (P1+P2)/2+(r1+r2)*(r1-r2)/2/d2*P21;
Q0 = sqrt(((r1+r2)^2-d2)*(d2-(r1-r2)^2))/2/d2*[0,-1;1,0]*P21;
Q(:,k) = P0+Q0; % Get k-th trajectory point at upper intersection
end
plot(p1(1,:),p1(2,:),w.,p2(1,:),p2(2,:),w.,Q(1,:),Q(2,:),y.)
axis equal

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Programming dans Help Center et File Exchange

Produits

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by