Open access peer-reviewed chapter

Optimization of Kinematics of Inclined Swinging Pin

Written By

Stanislav Barton

Submitted: 03 April 2019 Reviewed: 29 April 2019 Published: 19 June 2019

DOI: 10.5772/intechopen.86589

From the Edited Volume

Kinematics - Analysis and Applications

Edited by Joseph Mizrahi

Chapter metrics overview

973 Chapter Downloads

View Full Metrics


The inclined swinging pin simply transforms the rotary motion into a rotational oscillation. It consists of three components, a rotating inclined tenon, a crossbeam, and a stirrup. The pitch angle of the inclined tenon relative to the x-axis of its rotation is decisive for the kinematics of this joint. Too small inclination angle will result in small amplitude of oscillation; too much inclination will lead to an impulse dynamic stress that can damage the pin. The optimal angle of inclination can be determined from the mathematical model, created in the Maple environment, which uses linear algebra resources to describe the behavior of the joint. Vectors of coordinates of the critical points are created for each joint component. Furthermore, transformation matrices are created which describe the behavior of the corresponding kinematic chain in relation to the inclination angle of the inclined tenon and time.


  • mathematical modeling in Maple
  • transformation matrix
  • angular velocity
  • angular acceleration
  • optimization

1. Introduction

The inclined swinging pin is used for the simple conversion of rotational motion into oscillation in many agricultural machines. For example, in combine harvesters, it is used to drive a mowing bar that cuts stems. It is composed of three basic components: an inclined tenon—red, a crossbeam—green, and a stirrup—blue, see Figure 1. We study the movement of individual components in a rectangular coordinate system, see Figure 1.

Figure 1.

Joint-components and coordinate system.

Similar mechanisms are described, for example, in the book [1] that is available in an electronic version [2]. Many animations can be found on the Web, if you use keywords rotation to oscillation mechanism, Google will offer you over 20,000 links.


2. The basic components

2.1 Tenon

The pin is a basic component. Its basic part is an oblique nose. Its axis of symmetry forms an angle ϕ with the axis of rotation of the whole pin, which is identical to the axis x of the coordinate system. The axis of symmetry of the nose passes through the beginning of the coordinate system. The spacer serves to secure the nose to the support shaft, see Figure 2.

Figure 2.


2.2 Crossbeam and stirrup

The crossbeam is the middle member of the kinematic chain. The tenon nose is pushed through its center hole. As the nose rotates, the crossbar turns. The stirrup is attached to its side pins, and therefore the axis of the side pins is constantly in the plane z = 0, see Figure 3.

Figure 3.


Depending on how the crossbeam swings, the stirrup oscillates. The driven device connects to the vertical axis of the stirrup, see Figure 4.

Figure 4.



3. Deriving of transform matrices

We will derive the transformation matrices in the Maple13 program environment. The decisive element for which the transformation matrix will be derived is the crossbeam.

Allow us to specify axes of the base coordinate system in which tenon—Figures 1 and 2—are displayed as [x, y, z]. The axes of the moving coordinate system in which we plot the actual position of the crossbeam are denoted as [X, Y, Z]. Let us denote the transformation matrix from system [x, y, z] into system [X, Y, Z] as R_xyz. The individual rows of the R_xyz matrix are the x, y, z coordinates of the unit vectors in the X, Y, Z direction.

The direction of the X-axis is entered as the direction of the tenon’s nose axis. The axis X, which is equal to the axis of the nose, creates the angle ϕ with the x-axis and generally the entire tenon is rotated by an angle ψ around the x-axis.

A detailed description of the properties of transformation matrices can be found, for example, in [3].

> restart; with(LinearAlgebra): with(plots): #Maple Start+Libraries

> R_z:=Matrix([[cos(phi),sin(phi),0],

      [sin(phi),cos(phi),0],[0,0,1]]): #R_z - Rotation around z

> R_x:=Matrix([[1,0,0],[0,cos(psi),sin(psi)],

     [0,-sin(psi),cos(psi)]]):]]): #R_x - Rotation around x

> R_xz:=R_x.R_z;

R _ xz cos φ sin φ 0 cos ψ sin φ cos ψ cos φ sin ψ sin ψ sin φ sin ψ cos φ cos ψ E1

> X:=convert(R_xz.<1,0,0>,list);

X cos φ cos ψ sin φ sin ψ sin φ . E2

Equation (2) specifies the direction of the nose axis, thus X-axis vector in the coordinates [x, y, z]. Coordinates Y are calculated easily. We know that |Y| = 1 and Yz must always be equal to 0 and that X and Y must be perpendicular to each other, i.e., X·Y = 0, the scalar product X and Y must be equal to 0. Therefore, we choose the vector coordinates Y = [Yx, Yy, 0] and Yx and Yy are calculated from the following equations:

> Y:=[Yx,Yy,0];

> E1:=add(w,w=zip((u,v)->u*v,X,Y)); E2:=Yx^2+Yy^2=1;

> simplify(allvalues(solve({E1,E2},{Yx,Yy}))[2],symbolic);

> Y:=subs(%,Y);

Y cos ψ sin φ cos ψ 2 cos ψ 2 cos φ 2 + cos ϕ 2 cos φ cos ψ 2 cos ψ 2 cos φ 2 + cos ϕ 2 0 . E3

Equations E1 and E2 have two solutions. In order for the XYZ system to be oriented counterclockwise, a second solution has to be chosen. Coordinates Z are calculated from the conditions X·Z = 0, Y·Z = 0, and |Z| = 1.

> Z:=[Zx,Zy,Zz];

> E1:=add(w,w=zip((u,v)->u*v,X,Z));

> E2:=add(w,w=zip((u,v)->u*v,Z,Y)); E3:=Zx^2+Zy^2+Zz^2=1;

> simplify(allvalues(solve({E1,E2,E3},{Zx,Zy,Zz}))[1],symbolic);

> Z:=subs(%,Z);

Z sin ψ cos φ sin φ % 1 sin ψ cos ψ sin φ 2 % 1 % 1 , where % 1 = cos ψ 2 + cos ψ 2 cos φ 2 + cos φ 2 . E4

From the vectors X, Y, Z, it is possible to create a transformation matrix M_XYZ, which will describe the orientation of the crossbeam depending on the angle ϕ and the angle of rotation ψ.

> M_XYZ:=Matrix([X,Y,Z]);

M _ XYZ cos φ cos ψ sin φ sin ψ sin φ cos ψ sin φ % 1 cos φ % 1 0 sin ψ sin φ cos φ % 1 sin ψ cos ψ sin φ 2 % 1 % 1 . E5

Finally, it is possible to create a graph showing the curves described by the endpoints of the X, Y, and Z vectors. For instance, if ϕ = 2 π / 15 and ψ 0 2 π are selected, then the resulting graph is Figure 5. The corresponding animation is stored in the file An_Axes.avi, available to download in the Videos section.

Figure 5.

Movement of the unit vectors X, Y, Z.


4. Optimization

The orientation of the Y axis can be derived from the matrix M_XYZ, see Eq. (5). The orientation of this axis indicates the angle of rotation of the stirrup about the z axis.

> Y:=evalm([0,1,0].M_XYZ);

Y cos ψ sin φ % 1 cos φ % 1 0 . E6

The angle of rotation of the stirrup is equal to the angle between the y and Y axes. Let us denote this angle as θ.

> theta:=arctan(rz[1]/rz[2]);

θ arctan cos ψ sin φ cos φ . E7

The angle ψ indicates the angle of rotation of the pin about the x-axis. We can therefore substitute:

> su:=psi=2*Pi*tau:

su ψ = 2 π τ . E8

> theta:=subs(su,sin(phi)=cos(phi)*tan(phi),theta);

θ arctan cos 2 π τ tan φ , E9

where τ = t/T = dimensionless time, t = time, and T = duration of one revolution = one period.

It is now possible to determine the angular velocity of the stirrup oscillations, ω = d θ τ / , and the angular acceleration of the stirrup oscillations, ε = d 2 θ τ / 2 .

> omega:=diff(theta,tau);

ω 2 sin 2 π τ π tan φ T 1 + cos 2 π τ 2 tan φ 2 E10

> epsilon:=normal(diff(omega,tau));

ε 4 cos 2 π τ π 2 tan φ 1 + cos 2 π t 2 tan φ 2 + 2 sin 2 π t 2 tan φ 2 1 + cos 2 π t 2 tan φ 2 2 E11

Now we plot the graph of ε(τ) for τ 0 1 . The values of ϕ will be chosen between 5 and 45° with a step of 5°, see Figure 6.

Figure 6.

Angular acceleration for ϕ = 5, 10, 15, 20, 25, 30, 35, 40, and 45°.

> EP:=plot([seq(epsilon,phi=expand(Pi/36*[$1..9]))],

tau=0..1,color=red): EP;

It is quite clear from Figure 6 that with an increase in angle ϕ—that is, the angle between the pin nose and the x-axis—the course of the angular acceleration of the oscillations begins to deviate sharply from the sinusoidal shape. Thus, large variations in angular acceleration will occur for large ϕ values, resulting in rapid wear of the entire mechanism. This can lead to mechanical damage, because high angular acceleration values require high torque forces. Conversely, small values of the angle ϕ will lead only to a low oscillation amplitude, which may not be sufficient for the proper operation of the driven device. It is therefore necessary to find the optimum angle value ϕ.

After studying the graphs in Figure 6, the value at which the angular acceleration for τ = 1/2 reaches the local maximum possible value appears optimal. If the value of ϕ further increases, then this local maximum becomes the local minimum. This means that the optimum value of the angle ϕ must be the one at which the transition from local maximum to local minimum occurs. From a mathematical point of view, the following condition must be satisfied:

d 2 ε τ φ d τ 2 τ = 1 2 = 0 . E12

The value of the angle ϕ can be easily determined from Eq. (12) using Maple.

> Ett:=normal(diff(epsilon,tau,tau));

Ett 16 cos 2 π τ π 4 tan φ ( 1 + 24 sin 2 π τ 4 tan φ 6 cos 2 π τ 2 + 8 sin 2 π τ 2 tan φ 4 cos 2 π τ 2 20 sin 2 π τ 2 tan φ 2 + 9 cos 2 π τ 4 tan φ 4 + 5 cos 2 π τ 6 tan φ 6 24 sin 2 π τ 4 tan φ 4 + 3 cos 2 π τ 2 tan φ 2 + 28 sin 2 π τ 2 tan φ 6 cos 2 π τ 4 ) / 1 + cos 2 π τ 2 tan φ 2 4 E13

> Ett2:=eval(subs(tau=1/2,Ett));

Ett 2 16 π 4 tan φ 1 + 9 tan φ 4 + 5 tan φ 6 + 3 tan φ 2 1 + tan φ 2 4 E14

> Sol:=[solve(Ett2,phi)];

Sol arctan 5 5 arctan 5 5 0 E15

> Sold:=map(u->evalf(convert(u,degrees)),Sol);

Sold 24.09484255 degrees 24.09484255 degrees 0 degrees E16

> Phi:=Sol[1];

Φ arctan 5 5 . E17

> Epsilon:=simplify(subs(phi=Phi,epsilon),symbolic);

Ε ´ 4 π 2 5 cos 2 π τ 7 + cos 2 π τ 2 25 + 10 cos 2 π τ 2 + cos 2 π τ 4 . E18

It is now possible again to plot curves describing the angular acceleration dependence on τ and ϕ, and highlight the curve for ϕ = Φ, see Figure 7.

Figure 7.

Angular acceleration and angular acceleration for the optimized ϕ.

> EO:=plot(subs(phi=Phi,epsilon),tau=0..1,color=blue,thickness=3):

> display({EP,EO});

To make sure that the angle Φ is optimal, we will plot the angular velocity depending on τ, see Figure 8.

Figure 8.

The angular velocity of the oscillations.

> Omega:=simplify(subs(phi=Phi,T=1,omega),symbolic);

Ω 2 π 5 sin 2 π τ 5 + cos 2 π τ 2 . E19

> OP:=plot([seq(omega,phi=expand(Pi/36*[$1..9]))],


> OO:=plot(Omega,tau=0..1,color=blue,thickness=3):

> display({OP,OO});

And yet it is possible to plot the dependence of the angle θ on τ, see Figure 9.

Figure 9.

Dependence of angle θ on τ.

> Theta:=simplify(subs(phi=Phi,theta));

Θ arctan 5 5 cos 2 π τ . E20

> TP:=plot([seq(theta,phi=expand(Pi/36*[$1..9]))],


> TO:=plot(Theta,tau=0..1,color=blue,thickness=3):

> display({TP,TO});


5. Plotting of the dependencies in phase spaces

Further evidence of the choice of the optimum angle value Φ, that is, the choice of a suitable compromise between the oscillation amplitude and smooth oscillation over time, can be given by plotting the phase diagrams, which are graphs in which one kinematic variable is plotted against another kinematic variable.

In this case, we will present three phase diagrams, where we will plot the dependence of the oscillation angular velocity on the current value of the oscillation angle—ω(θ(τ)), see Figure 10, then the course of the angular acceleration of the oscillations against the current value of the oscillation angle—ε(θ(τ)), see Figure 11 and finally the course of the angular acceleration of the oscillations versus the angular velocity of the oscillations—ε(ω(τ)), see Figure 12.

Figure 10.

The phase diagram ω(θ(τ)).

Figure 11.

The phase diagram of ε(θ(τ)).

Figure 12.

The phase diagram of ε(ω(τ)).

> TW:=plot([seq([theta,omega,tau=0..1],


> TWO:=plot([Theta,Omega,tau=0..1],color=blue,thickness=3):

> display({TW,TWO});

> TE:=plot([seq([theta,epsilon,tau=0..1],


> TEO:=plot([Theta,Epsilon,tau=0..1],color=blue,thickness=3):

> display({TE,TEO});

> OE:=plot([seq([omega,epsilon,tau=0..1],


> OEO:=plot([Omega,Epsilon,tau=0..1],color=blue,thickness=3):

> display({OE,OEO});


6. Results and conclusions

All of the presented calculations and graphs show that the optimal angle of the nose inclination is ϕ = arctan(5−1/2) = 0.4205343352 rad = 24° 5′ 41.43″. If the angle ϕ is less than the optimum value, then the amplitude of the resulting oscillations will be low and gears will be required. This will lead to a significant increase in the price of the whole pin. Otherwise, when the value of the angle ϕ is higher than the optimum value, there is a sharp increase in the instantaneous angular acceleration of the oscillations. High angular acceleration values mean that the entire pin must transmit high torque values to which the entire pin must be dimensioned. This will mean either increasing the size of the pin or using materials with satisfactory mechanical properties. This solution again leads to an increase in the price of the whole pin. If the pin is not appropriately sized for the transmitted torque, it may be mechanically damaged or blocked. The condition for the optimum angle value ϕ in Eq. (12), thus, appears to be the optimal compromise between the oscillation amplitude and the mechanical stress of the entire joint.

Of course, the optimum shape of the oscillations should have a sinusoidal waveform, i.e., θ(t) = a sin(2πt/T), where θ = oscillation angle, t = time, a = oscillation amplitude, and T = oscillation period. The corresponding dependencies of angular velocity and angular acceleration over time are also in the form of sine or cosine functions. If we draw phase diagrams for these oscillations, then the graph of the dependencies [θ(τ), ω(τ)] = ω(θ(τ)) and [ω(τ), ε(τ)] = ε(ω(τ)) is the shape of an ellipse and the dependency [θ(τ), ε(τ)] = ε(θ(τ)) is the shape of a line segment. The amplitude of the oscillations is then equal to the length of the main half-axis of the ellipse, which displays ε(θ(τ)).

If we examine the graphs in Figures 1012, we find that the highlighted curve that corresponds to the optimum angle ϕ are an excellent compromise between the shape of the curve (ellipse or line segment) and the dimensions of the curve that correspond to the oscillation amplitude. Similarly, the graphs of functions θ(τ), ω(τ), and ε(τ), which correspond to the optimal value of the angle ϕ, are the best compromise between the desired function shape and the oscillation amplitude, see the graphs in Figures 79.

Figure 1 shows the entire inclined swinging pin, while Figure 2 shows the tenon plotted for this angle. Several bottom views of the entire joint during one quarter of the working period are shown in Figure 13.

Figure 13.

Positions of components for rotation angles ψ = 0, 90, 180, and 270°.

The main advantages of an inclined swinging pin compared to similar mechanisms are:

  1. Simplicity: The whole pin consists of only three main components that can be forged.

  2. Compactness: All components are similar in dimensions.

  3. Durability: All parts of the mechanism are subjected to approximately the same forces. No component will receive more wear than others.

For these reasons, it is used in a wide variety of agricultural machines.

An animation (An_Joint.avi) that displays the entire device's activity can be downloaded from the Videos section.


7. Videos

All videos referenced in this chapter are available from:


  1. 1. Horton HL, Newell JA. Ingenious Mechanisms. New York: Industrial Press Inc.; 1967;4:245-265. ISBN: 9780831110321
  2. 2. Horton H. Ingenious Mechanisms. Volume IV [Internet]. 2017. Available from: [Accessed: March 15, 2019]
  3. 3. Leon S. Linear transformations. In: Leon S, editor. Linear Algebra with Applications. 8th ed. New Jersey: Pearson Prentice Hall; 2010. pp. 166-198. ISBN: 139780136009290

Written By

Stanislav Barton

Submitted: 03 April 2019 Reviewed: 29 April 2019 Published: 19 June 2019