1 Introduction

The shaking moment and shaking force at the base creates dynamic unbalance in the industrial manipulators and induces noise, wear and fatigue and are often undesired. A manipulator is called “Dynamically balanced”, if no shaking moments and shaking forces result at all. Balanced manipulators do not exert vibrations and can have both low cycle times and high accuracy. Therefore, there is a need to reduce the frame vibrations due to shaking moments and forces and we also have to reduce abnormal fluctuations in input torque to achieve smooth operation of the industrial manipulators. A good amount of mass and inertia is added to the system for complete balancing i.e. having no shaking moment and force at the frame of manipulator as per existing dynamic balancing principles as reported by Wijk van der et al. (2009), who compared various dynamic balancing principles and stated that the mass redistribution offers relatively less mass and additional inertia solution. Further, the shaking torques and forces at joints of a robot are to be considered for modeling of industrial manipulators. For simulation and control of the robot, we need to eliminate/reduce the shaking moments and forces from equation of motion as emphasized in the robotic literature Sciavico and Siciliano (1996) and Eberhard and Schienlen (2006). The various methods for complete balancing of shaking moments for planer linkages has been reviewed by Kochev (2000), most of these methods are based on addition of counter weights to moving linkages, attachment of rotating discs and mass redistribution (Papakostas et al. 1998) reported the dynamic design of dynamically balanced robotic manipulator having high speed and accelerations. Others Feng et al. (2000) and Seglo et al. (1998) have treated the mechanisms optimization problem with randomly generated population based solutions such as genetic algorithm.

In a manipulator, the shaking moments and forces are induced due to inertia of its moving links which depends on the mass distribution of the links (Sherwood and Hockey 1969). Thus to reduce the inertia induced shaking forces and moments, the masses of the links has to distributed optimally. This problem is resolved using dynamically equivalent system of point masses or equimomental system in parallelepiped configuration (Chaudhary and Shah 2007, 2008). The point-masses configurations proposed here satisfies the equimomental system conditions (Wenglarz et al. 1969).

The links of a manipulator are represented by the point masses using octahedron/hexahedron model with its CG coinciding with CG of link that ensures positive value for all point masses and offers practically implementable solutions. Then the equations of motion given in Chaudhary and Shah (2007) are used. An optimization problem is than formed to minimize the shaking forces and moments at joints of the industrial manipulator. The magnitude of point masses is obtained using genetic algorithm (GA). Objective function is to minimize the shaking moments and forces at the joints of the manipulator. It also reduces the driving torque. Than the results of seven/six point mass models are compared to find which point mass model offers better optimal solution.

2 Point—Mass Models

2.1 Seven Point—Mass Octahedron Model

To find optimal distribution of link masses, each rigid link is converted into dynamically equivalent system of point masses. A set of point masses in octahedron configuration as shown in Fig. 1 represents the rigid links. Body fixed frame xiyizi is fixed to ith link at its CG and xi, yi, zi are principal axes. Six masses lie at vertices of octahedron and seventh point mass lies at CG of the link. The point masses are rigidly fixed to the frame xiyizi. The two systems, the rigid link and the system of point masses in octahedron configuration, are dynamically equivalent, if (i) the sum of all point-masses equal the mass of link (ii) the CG of point masses coincides with the CG of rigid link, giving three conditions (iii) the moment of inertias and product of inertias for distributed point-masses is same as that of rigid link, giving six conditions. These conditions are known as equimomental conditions for ith link. The, mass, mi, mass center coordinates \( (\bar{x}_{i} ,\bar{y}_{i} ,\bar{z}_{i} ), \) the moment of inertia (Iixx, Iiyy, Iizz) and the product of inertia (Iixy, Iiyz, Iizx) are defined for ith link. The coordinates (xij, yij, zij) of point mass mij are defined for jth point mass of ith link.

Fig. 1
figure 1figure 1

Seven point-mass octahedron model. a Octahedron model. b Coordinates of point masses

For seven point mass model assuming equal point masses at equidistance on either side of axes xi, yi and zi, we get

$$ m_{i1} = m_{i4} ,\,m_{i3} = m_{i5} \,{\text{and}}\,m_{i6} = m_{i7} $$
(1)
$$ x_{i1} = - x_{i4} ,\, y_{i3} = - y_{i5} \, {\text{and}}\, z_{i6} = - z_{i7} $$
(2)

The point mass mi2 is placed at CG of the link. Since the other point masses are placed on axes, their other coordinates are zeros. These assumptions lead product of inertias zeros and xi, yi and zi become principal axes of the ith link. The mass center also is at the origin, i.e., \( \bar{x}_{i} = \bar{y}_{i} = \bar{z}_{i} = 0 \). This arrangement automatically satisfies the six equimomental conditions pertaining to location of center of mass and product of inertias, the remaining four conditions of total mass and inertia about three axes give:

$$ m_{i} = 2m_{i1} + m_{i2} + 2m_{i3} + 2m{\text{i6}} $$
(3)
$$ I_{ixx} = 2m_{i3} y_{i3}^{2} + 2m_{i6} z_{i6}^{2} $$
(4)
$$ I_{iyy} = 2m_{i1} x_{i1}^{2} + 2m_{i6} z_{i6}^{2} $$
(5)
$$ I_{izz} = 2m_{i1} x_{i1}^{2} + 2m_{i3} y_{i3}^{2} $$
(6)

Equations (3)–(6) contain 7 unknowns, four point masses mi1, mi2, mi3, mi6, and three coordinates xi1, yi3, zi6. Assuming mi1 = mi3 = mi6 = α mi, Eqs. (3)–(6) give:

$$ m_{i2} = (1 - 6\upalpha )m_{i} $$
(7)
$$ x_{i1}^{2} = (I_{iyy} + I_{izz} - I_{ixx} )/4\upalpha m_{i} $$
(8)
$$ y_{i3}^{2} = (I_{ixx} + I_{izz} - I_{iyy} )/4\upalpha m_{i} $$
(9)
$$ z_{i6}^{2} = (I_{ixx} + I_{iyy} - I_{izz} )/4\upalpha m_{i} $$
(10)

where, a constant α must satisfy 1 > (1 − 6α) > 0, i.e., α < 1/6.

Since, the mass and inertias of rigid link are known, Eqs. (7)–(10) provides unknown parameters of the point mass system. It is dynamically equivalent to the rigid link and does not contain negative point masses.

2.2 Six Point—Mass Hexahedron Model

Similar to the seven point mass model in octahedron configuration, six point mass model is defined in hexahedron configuration as shown in Fig. 2.

Fig. 2
figure 2figure 2

Six point—mass hexahedron model. a Hexahedron model. b Coordinates of point-masses

For six point mass model the following relationships of point masses and their distances along axes xi, yi and zi, are assumed to place CG of six point masses in hexahedron configuration at the CG of the link.

$$ m_{i1} = 2m_{i2} = 2m_{i3} \, {\text{and}}\, m_{i5} = m_{i6} $$
(11)
$$ x_{i2} = - x_{i3} , y_{i1} = - y_{i2 } = - y_{i3 } \,{\text{and}}\, z_{i5} = - z_{i6} $$
(12)

Since all other coordinates are zeros for point masses 1, 4, 5 and 6 as shown in Fig. 2 and the location of masses 2 and 3 being symmetric, the product of inertias become zeros. xi, yi and zi are principal axes of the ith link and the mass center is at the origin, i.e., \( \bar{x}_{i} = \bar{y}_{i} = \bar{z}_{i} = 0 \). This arrangement automatically satisfies the six equimomental conditions pertaining to center of mass and product of inertias, the remaining four conditions of total mass and inertia about three axes gives:

$$ m_{i} = 2m_{i1} + m_{i4} + 2m_{i5} $$
(13)
$$ I_{ixx} = 2m_{i1} y_{i1}^{2} + 2m_{i5} z_{i5}^{2} $$
(14)
$$ I_{iyy} = m_{i1} x_{i2}^{2} + 2m_{i5} z_{i5}^{2} $$
(15)
$$ I_{izz} = m_{i1} x_{i2}^{2} + 2m_{i1} y_{i1}^{2} $$
(16)

Equations (3)–(6) contain 6 unknowns, three point masses mi1, mi4, mi5, and three coordinates xi2, yi1, zi5. Assuming mi1 = 2mi5 = α mi, Eqs. (3)–(6) gives:

$$ m_{i4} = (1 - 3\upalpha)m_{i} $$
(17)
$$ x_{i2}^{2} = (I_{iyy} + I_{izz} - I_{ixx} )/2\alpha m_{i} $$
(18)
$$ y_{i1}^{2} = (I_{ixx} + I_{izz} - I_{iyy} )/4\upalpha m_{i} $$
(19)
$$ z_{i5}^{2} = (I_{ixx} + I_{iyy} - I_{izz})/2\upalpha m_{i} $$
(20)

where, a constant α must satisfy, 1 > (1 − 3α) > 0, i.e., α < 1/3.

Since, the mass and inertias of rigid link are known, Eqs. (17)–(20) provides unknown parameters of the point mass system. It is dynamically equivalent to the rigid link and does not contain negative point masses that being the problem with parallelepiped model in Chaudhary and Shah (2007).

3 Optimization Problem Formulation

3.1 Optimality Criteria

The objective function, used to minimize shaking forces and moments at joints of a manipulator of n moving links, based on the RMS values is as follows:

$$ f({\mathbf{x}}) = \sum\limits_{i = 1}^{n} {w_{i1} f_{i}^{c} + w_{i2} n_{i}^{c} } $$
(21)

where \( f_{i}^{c} \) and \( n_{i}^{c} \) are the RMS values of the constraint force, \( f_{i}^{c} = \left| {{\mathbf{f}}_{i}^{c} } \right| \), and moment, \( n_{i}^{c} = \left| {{\mathbf{n}}_{i}^{c} } \right| \), at the ith joint, respectively. We have taken weighing factors, wi1 and wi2, as 1 so as to minimize the shaking force and the shaking moment both equally. The design variable vector \( {\mathbf{x}} \) is defined in the next sub section.

3.2 Decision Variables and Constraints

The point masses \( m_{i1} , \ldots ,m_{i7} \) for seven point mass model and \( m_{i1} , \ldots .,m_{i6} \) for six point mass model of each link are taken as the decision variables. The locations of the point-masses for each link are fixed in the link-fixed frame. For a manipulator having n moving links, the Vector of the decision variables, x, is then defined as

$$ {\mathbf{x}} \equiv [{\mathbf{m}}_{1}^{T} , \ldots ,{\kern 1pt} {\kern 1pt} {\kern 1pt} {\mathbf{m}}_{n}^{T} ]^{T} $$
(22)

where the 7-vector, \( {\mathbf{m}}_{i} \) for octahedron model and 6-vector, \( {\mathbf{m}}_{i} \) for hexahedron model is as follows:

$$ \begin{aligned} {\mathbf{m}}_{\text{i}} & \equiv [m_{i1} \,m_{i2} \,m_{i3} \, m_{i4} \,m_{i5} \, m_{i6} \,m_{i7} ]^{T} \\ {\mathbf{m}}_{\text{i}} & \equiv [m_{i1} \,m_{i2} \, m_{i3} \, m_{i4} \, m_{i5} \,m_{i6} ]^{T} \\ \end{aligned} $$

Then the optimization problem is formulated as follows:

$$ {\text{Minimize}}\,f({\mathbf{x}}) = \sum\limits_{i = 1}^{n} {w_{i1} f_{i}^{c} + w_{i2} n_{i}^{c} } $$
(23a)
$$ {\text{Subject to}} - \sum\limits_{j = 1}^{p} {m_{ij} } + m_{i} \le 0\,{\text{for}}\,i = 1, 2, 3\ldots p\left( {p = 7\,{\text{for}}\,{\text{octa}}\,{\text{and}}\, 6\,{\text{for}}\,{\text{hexa}}\,{\text{model}}} \right) $$
(23b)
$$ - m_{ij} + \beta^{{}} m_{i} \le 0\quad {\text{for}}\,j = 1, 3\ldots 7\,{\text{and}}\,j \ne 2\, {\text{for}}\,{\text{octa}}\,{\text{model}} $$
(23c)
$$ - m_{ij} + 2\beta^{{}} m_{i} \le 0\quad {\text{for}}\,j = 2\quad {\text{for}}\,{\text{octa}}\,{\text{model}} $$
(23d)
$$ - m_{ij} + \beta^{{}} m_{i} \le 0\quad {\text{for}}\,j = 2, 3\ldots 6 \,{\text{and}}\,j \ne \, 1, 4\quad {\text{for}}\,{\text{hexa}}\,{\text{model}} $$
(23e)
$$ - m_{ij} + 2\beta \,m_{i} \le 0\quad {\text{for}}\,j = 1,{ 4}\quad {\text{for}}\,{\text{hexa}}\,{\text{model}} $$
(23f)

where a constant β ensures minimum point mass and is a fraction of point mass to link mass, say β = 0.0001.

The inequality (23b) ensures that the minimum link mass is mi. Constraints (23c), (23d), (23e), and (23f) are imposed to keep point masses more than zero. Constant β can be chosen to retain some +ve value for all point masses, however the higher value of this variable increases the shaking moment values.

4 Genetic Algorithm (GA) Technique

The optimization problem formulated using Eqs. (23a23f), solves for each point mass using Genetic Algorithm, the total mass of each link, i.e. sum of point masses, is subjected to a lower limit equal to that of link mass and individual point masses are also subjected to lower limit equal to 0.0001–0.0002 times the mass of the link. The fitness/objective function is computed during the execution of the specified trajectory of the manipulator.

The GA calls for input information on decision/design variables (number of manipulator links multiplied by point masses per link), fitness/objective function and constraints (lower bound on sum of different point masses and individual point mass of each link). Further, it allows for variations in population size, number of generations, elite children count to be retained in next generation, crossover fraction, tolerance on function, and defining initial population (if required). We obtained number of feasible solutions. The feasible solutions reported here were obtained for hexahedron point mass model with population size of 7200, 20 generation counts, elite counts of 72 (1 % of population), 0.7 crossover fraction, 1e-90 tolerance function and defining point masses for unbalanced robot as initial population to preserve characteristics of links, particularly 5th and 6th links having very low inertia and mass values. The octahedron point mass model is solved with population of 7200 and 9000 with remaining parameters as that for hexahedron model. It is observed that the best result reported in Table 1 (objective function value of 822.3) is obtained with population size of 9000 and not 7200 as used for hexahedron model.

Table 1 RMS values of objective function for seven and six point models

5 Application Illustration

The six-dof PUMA robot, the details of which are available in published literature, is considered to minimize shaking forces and moments using equations of motion given in Chaudhary and Shah (2007) and proposed methodology developed in Sects. 3 and 4. The Denavit–Hartenberg (DH) parameters, link’s masses, joint trajectory and inertias of the manipulator given in Saha (2014) are taken here for analysis and comparison purposes.

6 Results and Discussion

The results for RMS values for seven and six point models given in Table 1 demonstrates that the mean and the best value of objective function value for 6 trials of GA solution is nearly same for both models. The best value obtained for seven point model is with population of 9000 as against population of 7200 for six point model.

Table 2 gives the RMS values of shaking moment at different joints of PUMA robot for best value of objective function in both the cases. The shaking moments at joint 1, 2 and 3 is significantly reduced for both models vis-à-vis un-balanced robot.

Table 2 RMS values of shaking moment (N-m) at joints of seven and six point models

Table 3 gives the RMS values of shaking force at joints 1–6. It demonstrates that the shaking force remains nearly the same in all three cases as it depends on the total mass of the linkages which comes out same, we have redistributed the mass through optimization, that changes the inertia of link and reduces the shaking moment at joints of robot.

Table 3 RMS values of shaking force (N) at joints of seven and six point models

However, the peak value of shaking force is reduced as demonstrated by Fig. 5. The Variation of shaking moments with respect to time for one complete cycle, for the original unbalanced and optimized manipulator for seven point and six point models are shown in Figs. 3 and 4 respectively. Shaking force variation for seven point and six point models is shown in Fig. 5. The objective function value for seven and six point models obtained using ‘fmincon’ is 810.64 and 817.33 respectively. ‘fmincon’ results are better than that of GA, GA results offer multiple solutions close to the optimal solution giving multiple choices and thus more helpful for link shape formation.

Fig. 3
figure 3figure 3

Shaking moments of original (____) and optimally balanced PUMA (****) with 7 Point model. a Joint 1. b Joint 2

Fig. 4
figure 4figure 4

Shaking moments of original (____) and optimally balanced PUMA (****) with 6 point model. a Joint 1. b Joint 2

Fig. 5
figure 5figure 5

Shaking force of original (____) and optimally balanced PUMA (****). a At joint 1 for seven point model. b At joint 1 for six point model

7 Conclusion

The mean objective function values for seven point octahedron and six point hexahedron models are 828 and 827.3 respectively. These are nearly same. Further, the best values of objective function for seven point octahedron and six point hexahedron models are 822.3 and 823.02 respectively. These are also not significantly different. Therefore, we conclude that seven point octahedron and six point hexahedron models offer same optimization results in case of GA solution. The one which is more convenient for manipulators link shape formation may be used.