The dynamics of a mechanism can be modeled by using different sets of generalized coordinates. Since a PKM has constrained dynamics, the dynamic model is usually modeled by using a set of redundant generalized coordinates that can be divided into independent and dependent coordinates. In the mechanism at hand, twelve generalized coordinates, as shown in Rodríguez et al. [
11] are used. For more convenience, the Cartesian coordinates of the moving platform
x, y, and
θ are used to represent the pose of the manipulator. Since the mechanism has three degrees of freedom without a kinematic redundancy, only three coordinates are independent, while the remaining coordinates are dependent. The closed-loop topology of the mechanism can be maintained by introducing several constraint equations in the dynamic model. The number of required constraint equations is
m = n–d, where
n is the number of generalized coordinates and
d is the number of degrees of freedom, which also represents the number of independent coordinates.
A general rigid body typically has ten barycentric parameters, which include a mass, three first moments of inertia, and six elements of the inertia matrix. If the inertia matrix is evaluated with respect to the principal axes of the body, all the off-diagonal elements vanish to zero, i.e., the inertia matrix becomes a diagonal matrix. In such a case, only three elements of the inertia matrix should be defined. In a planar mechanism in which only rotation about the Z-axis is available, only the inertia elements related to the Z-axis are retained. Accordingly, when a planar mechanism is considered and the inertia matrix is evaluated with respect to the principal axis, which is the case for the mechanism at hand, the inertia matrix turns into a single scalar inertia. For this reason, the moment of inertia of each of the legs and the moving platform of the mechanism at hand is defined by a single scalar.
2.1. Dynamic Model without Friction
The total kinetic energy
T of the mechanism is the sum of the kinetic energy corresponding to all the moving components of the mechanism, i.e., the actuators (sliders), the legs, and the moving platform:
where
msi,
mLi, and
mp denote the masses of slider
i, leg
i, and the moving platform, respectively;
is the translational velocity of the slider
i;
is the translational velocity of the COM of leg
i relative to the inertial frame;
ωp and
ωi are the angular velocities of the platform and leg
i, respectively;
and
are the moments of inertia of the platform and leg
i relative to their COMs, respectively; and
and
are the translational velocities of the COM of the moving platform in
x and
y directions, respectively. The COM of the moving platform is given by:
It can be observed in both Equations (4) and (5) that the kinetic energy of the legs and the moving platform both have translational and rotational components due to the translation and rotation relative to the inertial frame. On the other hand, it can be observed in Equation (3) that the sliders only have kinetic energy from translations as they do not undergo rotation relative to the inertial frame.
Similarly, the total potential energy
V is the sum of the potential energy of the legs and the moving platform. The potential energy considered here comes from the altitude of the mechanism components in the direction of gravity. Let us first assume that the mechanism as shown in
Figure 1 and
Figure 2 is standing vertically, i.e., the Y-axis is vertical and therefore parallel with the direction of gravity. By considering the sliding path of the sliders as the datum in the potential energy evaluation, it can be observed that the sliding path of the sliders is coincident with the datum. As a result, the potential energy of the sliders vanishes and accordingly does not make any contribution to the total potential energy. The potential energy of the legs and the moving platform are respectively:
where
denotes the gravitational acceleration,
denotes the altitude of the COM of leg
i relative to the datum, and
yp denotes the altitude of the COM of the moving platform relative to the datum. The potential energy expressions in Equations (7) and (8) hold when the mechanism is standing vertically, as described earlier. When the mechanism is oriented on a horizontal plane such that all of the COMs have an identical altitude in the direction of gravity, the equations are no longer valid. In such a case, when the datum of the potential energy evaluation has an identical altitude to all of the COMs, then the potential energy due to gravity vanishes. In this case, the rigid body motion of the mechanism is not affected by gravity. A practical way to suppress the effect of gravity in a general model is by imposing a zero value to the gravitational acceleration constant
.
Using the Euler–Lagrange approach, the equations of motion are given by:
where
q is the vector of generalized coordinates;
Q is the vector of external loads corresponding to the generalized coordinates; and
y1,
y2, and
y3 denote the displacement of the sliders in the
y-direction. The values of
Qy1,
Qy2, and
Qy3 are zero since there is no external load exerted to the sliders in the
y-direction, whereas the values of
Qα1,
Qα2, and
Qα3 are zero since they correspond to passive joints. If the end effector is not subject to any external loading,
Qx,
Qy, and
Qθ are also zero. The last term on the right-hand side of Equation (9) represents the generalized constraint forces, which can be seen as joint reaction forces. These constraint forces are the products of the Lagrange multipliers
λ and the Jacobian of position constraints Г.
The following nine position constraint equations are required to maintain the closed chain of the mechanism:
where:
The following equations of motion can be obtained by substituting Equations (10)–(13) into Equation (9):
where
M is the inertia matrix;
N is a force vector containing the Coriolis, centrifugal, and gravitational forces;
Q is the external force vector; and the last term is the constraint force vector, which maintains the closed chain of the mechanism. The system inertia matrix
M, vector
N, and matrix
B depend on the mechanism posture. Although the inertia matrix of each component of the mechanism relative to either its COM or its local frame is constant, the system inertia matrix
M varies with the change of the mechanism posture.
The position constraint equations can be differentiated twice with respect to time, as follows:
Finally, Equation (14) can be combined with Equation (15) to obtain a descriptor form that is presented in the following differential-algebraic equations:
Using the coordinate partitioning, we can rewrite Equation (16) as follows:
where the subscripts
a and
p correspond to the active and passive joints, respectively.
Accordingly, the Lagrange multipliers can be obtained as follows:
whereas the inverse dynamics can be written in the following compact expression:
where:
Equation (19) provides the input forces τ required by the mechanism to undergo the specified motion.
Among the nine Lagrange multipliers in Equation (18), six multipliers correspond to the internal reaction forces in
x- and
y-directions at the three upper joints of the mechanism, whereas the other three multipliers correspond to the reaction forces at the three lower joints. These reaction forces are shown in
Figure 3. Since the lower joints are prismatic joints with only one degree of freedom, i.e., translation in the
x-direction, the reaction forces are exerted only in the
y-direction, i.e., normal to the guideway of the sliders.
Hence, there is one reaction force required to be evaluated at every lower joint, which means there are three reaction forces at all the lower joints. The generalized joint reaction forces
R, which include two reaction forces in the
x- and
y-directions at every upper revolute joint and one reaction force in the
y-direction at every prismatic joint, are given by:
From Equation (22), it is understood that the joint reaction forces are dependent on the Jacobian of the mechanism B(q,t)T, which represents the change of the mechanism’s posture.
2.2. Friction Modeling
Since the friction forces cannot be derived from the energy expressions, their contribution to the dynamics is presented separately here. Although the friction can be modeled as being either linear or nonlinear and either symmetric or asymmetric, it is commonly modeled as symmetric and linear. Furthermore, the friction at the prismatic joints is typically much higher than that at the revolute joints. This is particularly true when roller or ball bearings are used as the revolute joints since the friction in such bearings is very small. Therefore, when the friction should be considered, one can either consider the friction at all of the joints or the friction at only the prismatic joints, while neglecting the friction at the revolute joints. The mechanism at hand uses roller bearings as the revolute joints. As a result, the friction at the revolute joints is not significant and therefore neglected.
In this work, the Stribeck friction model, as shown in
Figure 4b, is used. This friction model is modified from the static-viscous-Coulomb friction model shown in
Figure 4a by adding the Stribeck friction effect to the static, Coulomb, and viscous friction components. This can be written as:
where
fs,
fc, and
fv denote diagonal matrices containing the static, Coulomb, and viscous friction parameters, respectively. For the case of a nonzero velocity in Equation (23), the first and the third terms in the right-hand side are the Coulomb and viscous friction components, whereas the second term is the Stribeck-effect friction component. Furthermore, some values of
δ have been recommended. In this work, the value of 1 was used. Using this friction model, there are four friction parameters to be identified:
fs, fc, fv, and
vs. In the case of varying normal forces, the static and Coulomb friction forces vary accordingly. As a result, the static and Coulomb friction cannot be identified as forces in the usual manner. In such a case, which is the case in this work, the static and Coulomb frictions should be identified as coefficients, i.e.,
μs and
μc.
The static and Coulomb friction parameters in the case of a translational joint, i.e., prismatic joint, are given by multiplying each of a dimensionless static friction coefficient
μs and a dimensionless Coulomb friction coefficient
μc by the normal force
fn exerted on the contact surface at the joint:
The static and Coulomb friction coefficients typically depend on the types of materials in contact with each other and the lubrication condition.
In general, the normal force in a posture-changing mechanism, such as a PKM like the mechanism at hand, is not constant. In the prismatic joint of the mechanism at hand, as illustrated in
Figure 5, three force components are acting, namely, the weight of the prismatic joint
msig, which is given by the total weight of the slider and the moving part of the linear motor; the input force
Qxi exerted on the prismatic joint by the linear motor; and the force
Ri exerted to the prismatic joint due to the weight of the other components mounted on the slider, as well as the external payload and the external force, if any. The exerted force
Ri can be decomposed into horizontal and vertical components, namely,
Rxi and
Ryi. At any time, the total force in the horizontal direction is given by the sum of
Rxi and
Qxi. In a static case,
Rxi is overcome by
Qxi such that the total force in the horizontal direction is zero. However, when the prismatic joint is in motion, the magnitude of
Qxi is different from the magnitude of
Rxi. If the magnitude of
Rxi is larger, the slider is moving toward the equilibrium state of the mechanism, i.e., the mechanism is collapsing to the base in the case of mechanism working in XY plane. Conversely, if the magnitude of
Qxi is larger, this means that the slider is moving due to an actuation point.
The normal force
fn is equal but in the opposite direction to the sum of all the vertical force components. This can be written as follows:
Although the weight of the prismatic joint, i.e., the first term on the right-hand side of Equation (25), is constant, the force component Ryi varies in general, depending on the mechanism posture. As a result, the normal force fn, and accordingly the static and Coulomb friction parameters, fs and fc, are not constant.
Since the varying components of the normal forces are mainly due to the effect of gravity and the external force, the posture dependency of the static and Coulomb friction parameters as described above is more significant when the rigid body motion of the mechanism is against a gravitational load, i.e., the rigid body motion is in the XY plane and/or under an external force. However, when the mechanism is free from an external force and working in the XY plane while it is statically balanced by a gravitational compensation mechanism or the mechanism is working in XZ plane, i.e., horizontally, then the posture dependency is less significant. The external force can be excluded during the dynamic parameter identification by simply moving the mechanism without any working load. In such a case, only the gravitational effect remains, if any. When the mechanism working in the XY plane is statically balanced, the gravity effect is eliminated.
When the mechanism is working in the XZ plane, the gravitational effect is working in the off-plane direction and most of the weight of all the mechanism components is borne by the structure of the mechanism. This does not mean that the gravitational effect is eliminated from the joints. In fact, the prismatic and revolute joints are still subject to the gravity-induced load but it works in the off-plane direction. At the prismatic joint, this gravity-induced load can be seen as a vertical reaction force that is exerted on the base of a cantilever due to the weight of the cantilever. In addition to this vertical reaction force, there are also a horizontal reaction force and a reaction moment at the prismatic joint due to the weight of the cantilever. If the external force is excluded, the vertical reaction force will be the main force component, which results in an off-plane normal force working at the prismatic joint. In addition to this normal force component, there is also an in-plane normal force component that results from the motion of the mechanism. All of these normal forces lead to a friction force, which should be overcome during the actuation of the mechanism. Similarly, the off-plane normal forces that are equal but in the opposite direction to the bearing thrust forces also arise in the revolute joints. In addition to this, there are also in-plane normal forces at the revolute joints resulting from the motion of the mechanism. Furthermore, if an in-plane external force exists, it will be additionally exerted to the prismatic and revolute joints. If the external force does not have a varying vertical (off-plane) component, the vertical (off-plane) normal forces working at the three prismatic and revolute joints may be assumed to be uniform. Accordingly, the static and Coulomb friction parameters may be assumed to be constant. A more detailed friction formulation for the mechanism working in the XZ plane can be seen in
Section 5.
2.3. Dynamic Model with Friction
By incorporating the friction forces, the equations of motion in Equation (14) can be expanded to the following:
The differential-algebraic equations in Equation (16) then become:
The partitioned differential-algebraic equations are accordingly given by:
The inverse dynamics can still be presented in the compact expression given in Equation (19), but the vector
should be modified to the following:
It is worth mentioning that the friction forces can only be evaluated after the corresponding normal forces are evaluated, whereas the normal forces can only be computed after the corresponding Lagrange multipliers are computed. In fact, the Lagrange multipliers are not available at the initial time. For this reason, a statics formulation of the mechanism is used at the initial time to compute the normal forces. This is valid since the mechanism is at rest at the initial time. The detailed statics formulation used to obtain the static normal forces is not presented here to reduce the paper’s length. In short, the static equations can be written based on the static equilibrium principle, and subsequently, can be presented as a linear system that can be solved for the normal forces, i.e., the reaction forces, by inverting the linear system.