1. Introduction
The dynamic balancing of the parallel manipulator is crucial to the quality of the parallel and closed-loop manipulator. In the operation of such a manipulator, forces and moments on the ground are generated due to the inertia of the components of the manipulator, which are called shaking force and shaking moment [
1,
2,
3,
4]. This paper will present a new approach to the partial moment balancing yet fully force balancing of the spherical parallel robot (SPR).
Methods for balancing the shaking force and shaking moment for planar mechanisms have been developed in recent decades. In general, there are two strategies to achieve a balanced mechanism, namely (1) balancing integrated with the design and (2) balancing after the design. Fisher’s method [
5], proposed in 1906, is perhaps the first published method for the force balancing of the mechanism integrated with design. The main idea of Fisher’s method is to make the COM of the mechanism stationary by adding auxiliary parallelograms. Wijk expanded Fisher’s method for dynamic balancing [
6]. The limitation in Wijk’s work is that the method for the moment balancing technique is restricted to special types of mechanisms; especially, there may be some challenges in avoiding interference among links at the embodied mechanism design phase [
7]. Most of the dynamic balancing methods in the literature fall into the category of balancing after design [
8].
The first well-known approach of this kind to the shaking force balancing of the mechanism is the counterweights (CW) approach, which was applied in Berkof’s work for the complete force and moment balancing of an inline four-bar linkage [
9]. The main idea with the CW approach is to add additional lumped objects (or weights) to the mechanism or manipulator such that the center of the mass (COM) of the mechanism, including the added weights, does not change its location during the operation of the mechanism. As such, the inertia-induced force (i.e., shaking force) of the whole mechanism is zero. For the shaking moment balancing of the mechanism, device objects that create the moment of inertia are added to the mechanism such that the angular momentum of the mechanism, including the added objects, keeps a constant with respect to a fixed point on the ground [
10,
11,
12]. The method by combining add-of-springs (AOS) and counterweights (CW) to achieve force-balanced robotic mechanisms was proposed in several studies [
13,
14], and this method can be said to be an application of the engineering hybridization principle, resulting in a trade-off between the increase in the weight of the system (with the CW approach) and the increase in the complexity of the configuration of the system (with the AOS approach). A screw theory-based methodology, which addresses a new dynamic balancing problem, i.e., instantaneous dynamic balance conditions for planar and spatial mechanisms [
15]. An alternative approach by satisfying all higher-order derivatives of the balance conditions was presented in [
16], which potentially leads to simpler and more cost-effective solutions for the dynamic balancing of a small set of closed-loop linkages.
Another approach for the shaking force balancing of robotic mechanisms is called adjusting kinematic parameters (AKP) [
17,
18]. The idea with the AKP is to change the kinematic parameter of the link so as to change the mass distribution as well as the distribution of the moment of inertia, together with re-planning the servomotor in the robotic mechanism to off-set the altered workspace of the robot due to the change of the kinematic parameters. However, in the case of a particular task along with its required workspace, the changed workspace may not be able to meet the required workspace, which is the limitation of the AKP approach. AKP has never been explored for the dynamic balancing of spatial mechanisms. This paper concerns the dynamic balancing of SPR with the AKP method combined with the CW method.
It must be noted that the balancing of spatial mechanisms is less studied in the literature due to its complexity in finding the balancing equations. Kaufman and Sandor proposed a CW method for fully force balancing spatial mechanisms [
19]. Moore presented a CW approach to statically balance spherical four-bar linkages as well [
20]. Wu and Gosselin designed a reactionless parallelepiped 3-DOF spatial mechanism by adding a counter-rotating gear on it [
21]. The foregoing methods inevitably increase the weight of the mechanism, resulting in an increase in the driving torque fluctuation as well as the joint force and shaking moment. Besides, the spatial mechanism of Wu and Gosselin is with a special configuration of the spherical mechanism or robot, which limits its application. Gosselin studied the dynamic balancing of the spatial parallel mechanism with six legs by using the CW approach [
22], but the mechanism in their study is a special configuration of SPR.
The partial moment balancing refers to the situation wherein the shaking moment is not completely annulled. In practice, full dynamic balancing i.e., fully canceling the shaking force and moment of mechanisms is a challenge, especially the full balancing of the shaking moment. The underlying reason is that the shaking moment is related to the moment of inertia, which depends on both the mass and mass distribution of the link and mechanism. The approach based on the concept of “counter” to the moment of inertia, as opposed to “counter” to the inertia of the mass, requires complicated structures of added objects to a moment-unbalanced mechanism, and sometimes added objects are auxiliary linkages, which greatly complicate the whole mechanism. By a trade-off between the benefit of a fully moment-balanced mechanism and the complexity of the structure of added objects along with the original mechanism, the idea of partial moment balancing makes sense in the research community of dynamic balancing of mechanisms.
The philosophy behind partial moment balancing is to select the best one among many options that can fully balance the force of the mechanism to minimize the shaking moment. Arakelian and Da Han proposed a CW method for the partial moment balancing of a fully force balanced spatial linkage, which can reduce the torque fluctuation as well [
23]. The spatial linkage in their work is an RSS’R spatial linkage. Besides, the shaking moment in their work is an exact expression, which can lead to computation overhead in the optimization process.
A promising strategy for the balancing of mechanisms is to combine different methods by following the engineering hybridization principle [
24]. Due to the complementary advantages of CW and AKP, a combined CW and AKP approach (called hybrid approach for balancing, CW-AKP for short) was proposed for the shaking force balancing of a five-bar planar mechanism [
25]. In the study reported in this paper, the combined CW-AKP approach was extended to the partially shaking moment balancing of a spatial mechanism (while being fully force balanced), the SPR in this case. It is noted that the SPR in our study is with a general configuration as opposed to the special configuration of the SPR studied by other researchers in the literature [
26,
27,
28]. Therefore, our work has two contributions: (1) a new approach, by combining the CW and the AKP, to the partial moment balancing of a spatial mechanism, demonstrated by the SPR of a general configuration, and (2) a new design of the SPR which can be fully force balanced yet partially moment balanced.
The remaining part of this paper is organized as follows.
Section 2 introduces the structure of the SPR.
Section 3 introduces the process of partially moment balancing the SPR by using the combined CW-AKP approach.
Section 4 illustrates the effectiveness of the proposed approach.
Section 5 presents conclusions with a discussion of future work.
2. The SPR along with Its D-H Coordinate System
As stated earlier, without the loss of generality, the general configuration of the SPR, as shown in
Figure 1a, is used throughout this paper. This mechanism contains nine revolute joints in total and three RRR linkages between its base and mobile platform. In this mechanism, all the nine revolute joint axes meet at a common center,
O, which is a fixed point on the ground. The axes of three servo motors are on the ground at
, distributed by an angle of 120°. There are three joint axes on the mobile platform at
, distributed by an angle of 120°, and through these joints are the three upper links connected with the mobile platform,
i = 1, 2, 3.
Define as perpendicular to the base with its origin being at the center O of the SPR. Notice that the point O″ is the intersection point of the axis with the triangle B1B2B3. Define as perpendicular to and parallel to the line O″B1. Define from and by following the right-hand rule. The coordinate system O-() is fixed to the ground and taken as a global reference coordinate system for the SPR. For the convenience of later discussions, denote this coordinate system as the frame O.
Define a local coordinate system
O′-
′(
′)
′ on the mobile platform as the frame M. Specifically, define
O′ at the center of the mobile platform and define the axis
′ as perpendicular to the mobile platform at the point
O’. Define the axis
′ as perpendicular to the axis
′ and as passing through one of the three points,
, say
. Initially,
is parallel to
′, namely the mobile platform is in the horizontal position, parallel to the triangle
B1B2B3 (
Figure 1b).
2.1. The D-H Kinematic Model of the SPR
Denote
i for the
i-th leg (
i = 1, 2, 3),
for the upper link,
for the lower link. As shown in
Figure 2, denote
for the joint axis between the
i-th upper link and the mobile platform,
for the joint axis between the upper link and lower link, and
for the joint axis between the lower link and base (
i = 1, 2, 3), see
Figure 2. Note that
,
, and
are unit vectors. Since all three legs are identical and symmetrical to the center
O of the SPR, it is sufficient to take one leg as an example to illustrate how to assign the D-H coordinate system to the leg. Define
along the
axis,
along the
axis, and
along the
axis. Define
as perpendicular to both
and
′. The origin of the frame
(
)
is at
O, denoted as
, due to the spherical property of the SPR. Define
as perpendicular to both
and
. The origin of the frame
(
)
is at
O, denoted as
, due to the spherical property of the SPR. Define
as perpendicular to both
and
. The origin of the frame
(
)
is at
O, denoted as
, due to the spherical property of the SPR.
Define along the axis, and further define as perpendicular to and along the direction such that initially, is coincident with , where the mobile platform is at the horizontal state. The origin of the frame () is also at O, denoted as , due to the spherical property of the SPR.
For the convenience of later discussions, denote the frame -() as the frame , denote the frame -() as the frame I, denote the frame -() as the frame L, the frame -() as the frame U.
Define
as the angle between
and
, see
Figure 2. Define
as the angle between
and
, see
Figure 3. Further from
Figure 2 and
Figure 3,
is the angle between
and
;
is the angle between
and
;
is the angle between
and
; and
is the angle between
′ and
. It is noted that these four angles are identical to each leg.
Table 1 shows the D-H parameters of the lower link and upper link, which are associated with the three coordinate systems, namely the frame
, the frame L, and the frame U.
The rotation matrix from the frame O to the frame
can be written as:
where
= 2(i
1) π/3 implies that the three motor axes are separated by 120° and where
c and
s are cosine and sine functions of trigonometric functions (all the
c and
s representations in the following text have the same meaning as here). The transformation matrix from frame
to frame L using the parameters from
Table 1 is as follows:
The transformation matrix from frame L to frame U using the parameters from
Table 1 is as follows:
The rotation matrix
(3 × 3) is a submatrix of
(take the first three rows and the first three columns), which represents the orientation relation among the axes in the frame
and the frame L. Define
as the position of the center of mass (COM) of the lower link with respect to the global reference frame O, then
can be written as:
where
is the position of
with respect to the frame O, and
represents the COM of the lower link with respect to the local frame L.
The rotation matrix
(3 × 3) is a submatrix of
(take the first three rows and the first three columns), which represents the orientation relation among the axes in frame L and frame U. Define
as the COM of the upper link with respect to the global reference frame O, and
is expressed as follows:
where
is the position of
with respect to frame O.
represents the COM of the upper link with respect to its local frame U.
Define
as the COM of the mobile platform with respect to frame O, which is a column matrix, and
can be written as:
where
represents the COM of the mobile platform with respect to frame M, which is a column matrix, and
represents the origin of frame M with respect to frame O, which is a column matrix.
represents the orientation of the mobile platform with respect to the global frame O. Calculating the rotation matrix
using the Euler angle (
φ,
σ,
Ψ), The matrix
is expressed as follows:
2.2. The Force Balancing Equations for the SPR
The principle of the force balancing of the mechanism is to keep the COM of the mechanism stationary for any configuration of the mechanism. With this principle, the COM of the SPR with respect to the global reference frame O is expressed as follows:
where
M is the total mass of SPR,
is the mass of the mobile platform,
is the mass of the upper link of the
i-th leg, and
is the mass of the lower link of the
i-th leg. That is:
In the above equations,
r is the position of the COM of the mechanism, i.e.,
Consequently, the SPR is force balanced if the time-dependent terms of Equation (11) are equated to zero. Substituting Equations (4), (6) and (8) into Equation (11), and then along the
X,
Y, and
Z directions, equates the time-dependent terms to zero. The detailed derivation can be found in
Appendix A.
It is noted that the equations for force balancing are only the necessary condition. To reach both the necessary and sufficient conditions, the loop equations of the mechanism need to be derived. There are three independent loop equations for the SPR, namely (a) Loop
1 (base platform—leg
1—mobile platform—leg
2), (b) Loop
2 (base platform—leg
2—mobile platform—leg
3), and (c) Loop
3 (base platform—leg
1—mobile platform—leg
3). The three-loop equations can be expressed by (see
Appendix B for details):
where
is a column vector defined as
and
is the length of the
i-th lower link.
is a column vector defined as
and
is the length of the
i-th upper link.
is a column vector defined as
and
is the distance between the point
and the point
.
is the rotation matrix from frame M to frame I.
2.3. The Shaking Moment of the SPR
According to Newton’s law for angular momentum, we have the following equation:
where
is the sum of the external moment at a reference point
O,
is the total angular momentum considered at O, and
is the first derivative of
. The angular momentum of the SPR with respect to its center point
O can be expressed by:
where
is the angular momentum of the mobile platform with respect to its COM,
is the length between
and the COM of the mobile platform, and
and
are the outer sphere radius and inner sphere radius of the upper link, respectively.
is the angular velocity of the mobile platform,
is the vector from point
O to the COM of the mobile platform and
is the first derivative of
.
is the vector from point
O to the COM of the lower link and
is the first derivative of
.
is the vector from the point
O to the COM of the upper link and
is the first derivative of
.
is the angular momentum of the upper link with respect to its COM,
is the angular momentum of the lower link with respect to its COM,
are the angular velocity of the lower link and upper link, and
and
are the mass of the lower link and upper link.
Figure 4a shows the structure of the mobile platform, and
Figure 4b shows the structure of the upper link of the SPR.
is the COM of the upper link with respect to the frame O,
is the rotation axis passing through the point
O, and
is the rotation axis passing through the point
. Due to the characteristics of the spherical mechanism, it can be calculated that the angular momentum around the
axis is
, according to the parallel axis theorem. Then the angular momentum around the
axis is
3. Partial Moment Balancing of the SPR Using the CW-AKP Approach
The CW approach is used to modify the lower link. Using Equation (A6) in
Appendix A, the length of the lower link is expressed by
The length of the link adjustment is given as
. Due to the symmetry of the SPR, we have
=
.
Consequently, Equation (21) gives the mass redistribution of the lower link based on the CW approach.
The AKP approach is used to adjust the upper link. Equation (A29) in
Appendix B is used to derive the length of the upper link. The equation to calculate the adjustment is:
where
and
are the initial value of the lower link and upper link length.
The shaking moment is considered as the objective function for optimization, that is, to minimize the shaking moment. The shaking moment is derived from Equation (16) and expressed by:
where
is the first derivative of
, and
is the first derivative of
.
,
, and
are the accelerations of the mobile platform, of the lower link, and of the upper link, respectively.
In the following, we consider an SPR mechanism in which the
and
of the links are nearly equal and defined as
r.
and
are the spherical length of the upper link and lower link of Leg
i, respectively, therefore
and
(
is defined previously in
Section 2). Then, we can obtain:
Using Equations (24)–(26), Equation (23) can be written as follows:
The optimal variables are the added masses and their locations (for the lower link) with the CW method, and the adjustment of the length of the links (for the upper link) with the AKP method. Therefore, only the last four terms of Equation (27) are considered. The objective function can therefore be simplified as follows:
From Equation (28), the variables of the objective function are
,
,
, and
. Further, Equation (A6) in
Appendix A and Equation (A29) in
Appendix B are selected as the constraint equations in the optimization model, which is explained in the following. From
Appendix A, there are 18 force-balancing equations, though only Equations (A6)–(A10) are the functions of
,
,
, and
. Since the three legs are identical, only Equation (A6) is selected as the constraint equation by taking Leg 1 as an example. Equation (A29) is the loop equation, and therefore, it is defined as a constraint equation. For the convenience of later discussions, the two constraint equations, Equations (A6) and (A29), are put below as Equations (29) and (30), respectively.
The specific parameters of the SPR can be extracted from the SolidWorks CAD model of the SPR, and they are shown in
Table 2. Rows 1 and 2 give details of the length and the mass of the lower link. Rows 3, 4, and 5 show the values of the coordinate points
,
, and
, with respect to frame O. Rows 6 and 7 give details of the length and the mass of the upper link. Rows 8, 9, and 10 show the values of the coordinate points
,
, and
considered with respect to frame O in the initial state. Rows 11 and 12 give details of the length and the mass of the mobile platform. Rows 13, 14, and 15 show coordinates for the points
,
, and
with respect to frame O in the initial state. Row 16 shows the coordinates for the COM of the platform with respect to frame O in the initial state.
Figure 5 shows the details of these points.
The following equation can be obtained by substituting the values of
M (1438 g) and
= 313 g into Equation (12):
Substituting the values of
= 157 (mm) and
= 90° into Equation (29) gives the constraint equation (g1). Substituting the values of
= 162.1 (mm),
= −81.1 (mm), and
= 90° into Equation (30) gives the constraint equation (g2). Substituting Equation (31) into Equation (28),
is eliminated and the number of variables in the objective function is reduced to three. In summary, the optimization problem is formulated as follows:
4. Simulation Verification
The MATLAB optimization toolbox functions or solvers were used to solve this optimization problem. In the MATLAB toolbox, the “fmincon” command was used as an optimization function. The “fmincon” function uses four different algorithms, of which the sequential quadratic programming (SQP) algorithm was used here due to its applicability to our optimization problem as well as its efficiency in solving such a kind of optimization. Using the SQP solver, the results were found to be = 475.6 (g), = 115 (mm), and = 243.3 (mm). The results were verified for not being local minima by trying different starting points and by using the interior-point solver in MATLAB. The shaking moment was found to be 0.0093 (Nm) only, while the shaking moment of the unbalanced result was found to be 0.073 (Nm).
The simulation was carried out with SPACAR [
29]. SPACAR is a reliable software that has been used as a tool for simulation-based experiments by many other researchers in the literature [
30]. The initial parameters of the unbalanced SPR are shown in
Table 2, using the optimized values of
= 475.6 (g) and length
= 115 (mm) for the balanced lower link. The INVDYN module in SPACAR was used for the simulation. The input parameters are the trajectory. The outputs (i.e., shaking force and shaking moment) were obtained from SPACAR. The SPR was defined using a data file, which is the input file of SPACAR, containing specific SPACAR keywords and parameters (see
Supplementary Materials S1). The input file contains the details of kinematic data, dynamics data, and inverse dynamics data.
For the convenience of simulation but without the loss of the purpose of verification, we chose the input motion to the system as this: the center of the mobile platform goes around a closed-form trajectory (named trajectory 1), A → B → C → D → A. The coordinates of these points are as follows: A (0, 0, 0.0905), B (0.0002, −0.0001, 0.0903), C (0.0002, 0, 0.0903), and D (−0.0001, 0, 0.0901) (see
Figure 6). To increase the reliability of the verification, we consider two situations (see
Figure 7).
Situation (1): Initially, the mobile platform is at rest at point A for 0.05 s. Next, the mobile platform starts from point A, (i) accelerates uniformly for 0.03 s to a speed of 0.0176 m/s, (ii) maintains the speed of 0.0176 m/s for 0.14 s, and (iii) decelerates uniformly for 0.03 s to a speed of 0 m/s and in the meantime reaches point B. Next, the mobile platform starts from point B, (i) accelerates uniformly for 0.03 s to a speed of 0.0059 m/s, (ii) maintains the speed of 0.0059 m/s for 0.14 s, and (iii) decelerates uniformly for 0.03 s to a speed of 0 m/s and in the meantime reaches point C. Next, the mobile platform starts from point C, (i) accelerates uniformly for 0.03 s to a speed of 0.0212 m/s, (ii) maintains the speed of 0.0212 m/s for 0.14 s, and (iii) decelerates uniformly for 0.03 s to a speed of 0 m/s while in the meantime reaching point D. Finally, it takes 0.05 s for the mobile platform to accelerate uniformly from point D to point A.
Situation (2): Initially, the mobile platform is at rest at point A for 0.05 s. Next, the mobile platform starts from point A, (i) accelerates uniformly for 0.1 s to a speed of 0.03 m/s, and (ii) decelerates uniformly for 0.1 s to a speed of 0 m/s while in the meantime reaching point B. Next, the mobile platform starts from point B, (i) accelerates uniformly for 0.1 s to a speed of 0.01 m/s, and (ii) decelerates uniformly for 0.1 s to a speed of 0 m/s while in the meantime reaching point C. Next, the mobile platform starts from point C, (i) accelerates uniformly for 0.1 s to a speed of 0.0357 m/s, and (ii) decelerates uniformly for 0.1 s to a speed of 0 m/s while in the meantime reaching point D. Finally, it takes 0.05 s for the mobile platform to accelerate uniformly from point D to point A.
For the convenience of subsequent discussions, we call Situation (1) “high” (in terms of rise time, which is 0.03 s), and Situation (2) “low” (in terms of acceleration time, which is 0.1 s). The simulation results are presented below.
represents the magnitude of the shaking force of the SPR (notice that the shaking force is a vector with components in all X, Y, Z directions).
M represents the magnitude of the shaking moment of the SPR (notice that the shaking moment is a vector with its components in all X, Y, Z directions).
Figure 8a shows the result of the shaking force of the SPR at “low”. It can be found that the shaking force of the unbalanced SPR fluctuates significantly between −1.616 N and 0.890 N while the optimized SPR has no shaking force.
Figure 8b shows the result of the shaking force of the SPR at “high”, which has the same pattern of reduction by applying our method.
Figure 9a shows the result of the shaking moment of the SPR at “low”. From
Figure 9a, it can be found that the shaking moment of the unbalanced SPR fluctuates significantly between −5.9 Nm and 3.8 Nm while the shaking moment of the optimized SPR only fluctuates between −0.15 Nm and 0.15 Nm.
Figure 9b shows the result of the shaking moment of the SPR at “high”, which has the same pattern of reduction by applying our method. In summary, the shaking moment of the optimized SPR is reduced by more than 95% for “high” and by more than 97% for “low” by comparing with that of the unbalanced SPR.
Figure 10 shows the result of the torque fluctuation of the three motors installed on the base at (a) “low” and (b) “high”. It is apparent that the torque fluctuation of the three motors of the optimized SPR at both “high” and “low” have reduced by more than 25% compared with the unbalanced SPR.
In order to increase the reliability of the verification, another path (named trajectory 2) in space is randomly selected, as shown in
Figure 11. We consider two situations as well: Situation 1: the mobile platform tracking the path within 1 s (named “high”), Situation 2, the mobile platform tracking the path within 10 s (named “low”). The simulation results are presented below.
From
Figure 12 and
Figure 13, it is apparent that the shaking force and shaking moment of the optimized SPR at both “high” and “low” are reduced by more than 90% compared with the unbalanced SPR. From
Figure 14, it is apparent that the torque of the three motors at the base of the optimized SPR at both “high” and “low” have reduced by more than 20% compared with the unbalanced SPR.
5. Conclusions
This paper presented a study on the dynamic balance of spatial robotic mechanisms. The spherical parallel robot (SPR) was chosen as a study vehicle. The goal of the study was to extend the CW-AKP approach to the partial moment balancing of mechanisms with the goal of making the shaking moment as small as possible. This approach was applied to SPR. A simplified mathematical expression of the shaking moment under a certain condition was described, which has only three variables and is a quadratic form. An efficient solver for such optimization is available. This will greatly benefit the real-time control of the SPR concerning the shaking moment. The verification of the effectiveness of our approach was made with the help of SPACAR in the MATLAB environment, namely a simulation-based experiment. The result from the experiment shows that the approach is effective, especially for the example system used for analysis: a 90% reduction in the shaking moment has been achieved. The main contributions of this paper are: (1) a combined CW and AKP approach to the partial moment balancing of the SPR enhanced with a simplified mathematical model of the shaking moment of the SPR, and (2) a new design of the SPR which can be fully force balanced yet partially moment balanced.
However, a note is taken that the simplified model is under the condition that the parameters of the link have certain geometric relations, which is a limitation of this study.
There are several future studies to be based upon the current study described in this paper. First, an effort is to be taken toward the physical-based experiment of the proposed partial moment balance by the CW-AKP approach. Second, the balancing of machines, especially so-called soft machines or soft robots, is with a growing interest in soft robots [
31] and compliant mechanisms [
32,
33,
34], since both soft robots and compliant mechanisms are more complex when external loads are added to them (dimensional deformation). It is worth mentioning that the balancing of mechanisms in the contemporary literature refers to the cancellation of the inertia-induced force to the ground. Balancing an external force on the mechanism is a relatively new issue. Third, the balancing of micro-motion manipulators with two or multi-degrees of freedom (micro-surgical robots) [
35] needs attention, as the micro-motion system demands high accuracy [
36] and the shaking moment may become a significant factor that compromises the accuracy.