Introduction

The appliance industry has recently improved efficiency by innovating new designs. In the case of washing machines, the main targets are lightweight, portability, high capacity, energy–water consumption reduction, noise, and vibration minimization during operation. However, these new features in a washing machine make it more susceptible to prominent vibration characteristics and increased noise, especially during the spinning cycle. High capacity means big drums and small clearances, which generate hits between internal components, aside from unbalanced loads. These effects derive from the design enhancements of internal parts, which cause excessive forces during the spin process, exerting large forces on the floor and causing undesirable vibrations [1, 2]. The higher the spin speed, the more water extraction occurs, resulting in less energy to dry; however, higher speed causes excessive vibrations [3]. One method to avoid these issues is adding large dead masses [4, 5].

Moreover, several studies have been conducted to improve suspension performance through modeling [6]; the mathematical model of a spring-suspended chassis was formulated. This 6 DOF model helped to establish a parameter to reduce deflection and walking conditions. An analytical dynamic analysis of suspension of 4 DOF [7] explored two possible support concepts: the Non-translating fixed noded design (NTFN) and the translating free noded design (TFN) to determine the parameters to cause a walking condition. Non-linear elements (shock absorbers and restrainers) and experimental data were introduced into a dynamical model with 6 DOF to study the system’s displacement responses and assess the washing machine’s striking and stepping phenomena [8]. Later [9], the results of the previous studies were applied to a grid and a sequential quadratic programming optimization to determine which suspension variables are essential in avoiding stepping, reducing displacement, and minimizing orbits of the washing machine center mass. Other methods to reduce the vibration and the noise generated in the spin cycle use the advantage of the semi-active suspension system. Magnetorheological dampers are included in a dynamical model to improve the washing machine’s behavior and optimize its stiffness and damping parameters [10]. A simple experimental–analytical dynamic model is developed to reduce the vibration and contribute to the dynamic stability of the washing machine [11]. The method adjusts the internal interference between the damper components; thus, the stiffness and damping coefficients change accordingly. This interference or damper force depends on the level of a gradient function that uses the experimental data from the 3-axis gyroscope. Another effective way to control the vibration is using auto-balancing elements; a mathematical model of a balancer was used in a steady state for the dynamic analysis of a vertical washing machine to minimize vibrations [12]. The Lagrange function was used to predict the dynamic behavior of a vertical washing machine suspension that includes damping properties, i.e., tangential damping forces on suspension joints or supports. Then, a Hopf bifurcation analysis showed the effects of the damping properties over the dynamic responses [13]. Other research studied the deflection between rotating and no-rotating assemblies by introducing gyroscopic effects in a dynamical model of 12 DOFs [14].

Recently, a multi-step approach for optimizing the structural components of washing machines was presented; three principal cost functions drove the dynamic vibration, the kinematic cost function used to measure the tub motion, the dynamic cost function that measures the transmitted force to hosting structure, and the function for stability to prevent the walking condition [15]. The use of genetic algorithm as an optimization tool and a 2D dynamic model of a horizontal washing machine was used to study to minimize the vibration characteristics of the spin cycle. Properties, such as stiffness, damping coefficients, and the geometric locations of suspension elements in the x- and z-axes, were optimized [16]. A dynamical model with 4 DOF was developed to study the effect of the dampers on the suspension and predict the displacements in the vertical and lateral axes of the system. The results showed that the vibration and the forces transmitted to the frame are significantly reduced when the damper is disengaged. However, the model did not address the longitudinal motion of the system [17].

Most problems related to excessive vibration behavior, such as the torque exerted in the tub, the transmitted forces to the structure, and the noise radiated, are treated in a steady state; however, the knocking between components due to large excursions or displacements occurs in the transient state. Some researchers studied a washing machine using a multi-body dynamic analysis to predict the possible collision of the tub with the frame during the transient state [18]; a gasket model was included to predict the tub’s behavior accurately. However, due to the nature of the multi-body model, models with more geometric detail are required. Some dynamics analytical models are linearized to save time and computational resources. That is the case of the non-linear dynamic model developed for a front-loading washing machine using Kane’s method [19] where this model was validated and compared using a multi-body dynamic model created in RecurDyn software. After the model was validated, a linearization process was used to predict the shape of the resonance mode with the linear model.

Nonetheless, this study did not predict the same dynamical behavior as the non-linear one because of the damper’s damping coefficient. This result indicates that the reliability of the lineal model depends on the damping coefficients employed. A damping coefficient range was established to guarantee the reliability of the linear analytical model. Although some studies include an analytical formulation with multiple DOFs, none have considered most suspension variables in both the transient and steady state.

The research [20] explored the connectivity of oscillations in the dynamical model to establish basic design rules for suspension design to reduce vibration activity.

In this work, a dynamic 7 DOF model of a horizontal washing machine is presented and used to optimize the suspension parameters (spring stiffness, damping coefficient, and geometric locations of suspension elements) (Fig. 1), considering both steady and transient state. By minimizing large excursions and displacements of the machine, velocity and acceleration vibrations through the washing machine frame were drastically reduced, and a tool called the bounding box is used to envelop all kinematic responses and can be optimized through the GA.

Fig. 1
figure 1

Simplified washing suspension model

Dynamic Model

A simplified horizontal washing machine model suspension is shown in Fig. 1. Real masses and inertias are assigned. This model consists of three assemblies or systems: the tub, the basket, and the suspension.

The tub assembly comprises non-rotating parts. The motor driver is attached to the rear. The tub assembly and the hub have three counterweights attached at the front top, front bottom, and rear. The basket assembly comprises a basket, pulley, shaft, and bearings. It rotates concentrically with the tub assembly.

Finally, the suspension system consists of two springs and four dampers that support the tub assembly. The tub assembly is connected to the cabinet via these springs and dampers, and the cabinet is assumed to be fixed to the floor. The suspension has seven degrees of freedom during the spin cycle process: three translational and four angular.

Dynamic models with seven and nine DOFs, incorporating the rotation angle of the basket relative to the tub, have been published [13, 21]. However, the basket’s rotation angle must be constrained for stability and dynamic analyses. This research considers this DOF since one objective is to reach a constant basket’s spin speed in the shortest time possible. The tub and the basket assemblies are modeled independently as rigid bodies, giving them 3 DOF and 1 DOF, respectively. This way, a robust dynamic model is built.

In this work, basic assumptions are made:

  • The cabinet is fixed to the ground.

  • The tub assembly is free to move. According to the simulations, there are no collisions with the cabinet.

  • This work does not consider friction in joints between suspension components and the tub.

  • Both springs and dampers are considered massless, whose properties are time-invariant.

  • All components of the washing machine can be treated as rigid bodies.

  • Pure rotational displacement occurs between tub and basket assembly.

  • An unbalanced mass of 0.68 kg (1.5 lb) is located at the front of the basket assembly. This position represents the most critical condition to induce large tub assembly displacements.

  • The basket assembly and the imbalanced mass rotate from rest by an electrical motor with constant torque.

Kinematics Reference

For describing movements of the tub, basket, and imbalance assemblies, three reference frames are defined and shown in Fig. 2, an inertial frame CS0 (X0Y0Z0), a local reference frame CS1 (X1Y1Z1) attached to the rotational axis of a tub assembly and a second reference frame CS2 (X2Y2Z2) attached to the rotational axis of a basket assembly.

Fig. 2
figure 2

Mass center position of assemblies. a Tub; b Basket; c Imbalanced mass

The movement of both assemblies is represented by a generalized coordinate vector \(\mathbf{q}={[x,y,z,\alpha ,\beta ,\gamma ,\theta ]}^{T}\) where the sub-vector \({[x,y,z]}^{T}\) represents the position of the origin of the local reference frame CS1 and the sub-vector \({[\alpha ,\beta ,\gamma ]}^{T}\) is used to describe the orientation of the same frame. Both sub-vectors have the absolute reference frame CS0; finally, θ means the rotation relative to the Z-axis from CS1 to CS2.

Tub Assembly Kinematic

At first, we develop the tub assembly kinematics, which can be seen in Fig. 2a.

The vector position of the tub assembly gravity center \({G}_{1}\) can be represented by:

$${\mathbf{r}}_{G1}^{0}={\mathbf{r}}_{1}^{0}+{\mathbf{R}}_{1}^{0}{\mathbf{r}}_{G{1}^{\prime}}^{1}$$
(1)

where \({\mathbf{r}}_{1}^{0}={[x,y,z]}^{T}\) is a vector defined in CS0 and \({\mathbf{r}}_{G{1}^{\prime}}^{1}=[{x}_{G1},{y}_{G1},{z}_{G1}{]}^{T}\) is the position of the gravity center of the tub assembly defined in local frame CS1 and \({\mathbf{R}}_{1}^{0}\) is the transformation matrix from CS1 to CS0, and it is expressed as:

$${\mathbf{R}}_{1}^{0}={\mathbf{R}}_{x}\left(\alpha \right){\mathbf{R}}_{y}\left(\beta \right){\mathbf{R}}_{z}\left(\gamma \right)$$
(2)

where

$${\mathbf{R}}_{x}(\alpha )=\left[\begin{array}{ccc}1& 0& 0\\ 0& cos\alpha & -sin\alpha \\ 0& sin\alpha & cos\alpha \end{array}\right],{\mathbf{R}}_{y}(\beta )=\left[\begin{array}{ccc}cos\beta & 0& sin\beta \\ 0& 1& 0\\ -sin\beta & 0& cos\beta \end{array}\right],{\mathbf{R}}_{z}(\gamma )=\left[\begin{array}{ccc}cos\gamma & -sin\gamma & 0\\ sin\gamma & cos\gamma & 0\\ 0& 0& 1\end{array}\right]$$

Equation (2) uses the Cardan angles [22]. The translational velocity of the tub assembly can be obtained by differentiating with respect to time Eq. (1):

$${\dot{\mathbf{v}}}_{G1}^{0}={\mathbf{v}}_{1}^{0}+{\dot{\mathbf{R}}}_{1}^{0}{\mathbf{r}}_{{\text{G}}{1}^{\prime}}^{1}$$
(3)

where \({\mathbf{v}}_{1}^{0}=[\dot{x},\dot{y},\dot{z}{]}^{T}\). Moreover, the assembly’s rotational spin speed expressed in local frame CS1 is defined as:

$${{\varvec{\Omega}}}_{0}^{1}={({\mathbf{R}}_{1}^{0})}^{T}{\dot{\mathbf{R}}}_{1}^{0}$$
(4)
$${\dot{\mathbf{R}}}_{1}^{0}={\mathbf{R}}_{1}^{0}{{\varvec{\Omega}}}_{0}^{1}$$
(5)

After substituting Eq. (5) into Eq. (3), the assembly’s translational velocity is expressed as:

$$\begin{aligned} {\mathbf{v}}_{G1}^{0} & = {\mathbf{v}}_{1}^{0} + {\mathbf{R}}_{1}^{0} {{\varvec{\Omega}}}_{0}^{1} {\mathbf{r}}_{{{\text{G}}1^{\prime } }}^{1} \\ & = {\mathbf{v}}_{1}^{0} - {\mathbf{R}}_{1}^{0} {\tilde{\mathbf{r}}}_{{{\text{G}}1^{\prime } }}^{1} {{\varvec{\upomega}}}_{0}^{1} \user2{ } \\ \end{aligned}$$
(6)

where \({\varvec{\Omega}}\mathbf{r}={\varvec{\upomega}}\times \widetilde{\mathbf{r}}=-\widetilde{\mathbf{r}}{\varvec{\upomega}}\) and \(\mathbf{r}={[x,y,z]}^{T}\):

$$\widetilde{\mathbf{r}}=\left[\begin{array}{ccc}0& -z& y\\ z& 0& -x\\ -y& x& 0\end{array}\right]$$

from Eq. (4)

$${{\varvec{\Omega}}}_{0}^{1} = \left[ {\begin{array}{*{20}c} 0 & { - \dot{\alpha }\sin \beta - \dot{\gamma }} & { - \dot{\alpha }\cos \beta \sin \gamma + \dot{\beta }\cos \gamma } \\ {\dot{\alpha }\sin \beta + \dot{\gamma }} & 0 & { - \dot{\alpha }\cos \beta \cos \gamma - \dot{\beta }\sin \gamma } \\ {\dot{\alpha }\cos \beta \sin \gamma - \dot{\beta }\cos \gamma } & {\dot{\alpha }\cos \beta \cos \gamma + \dot{\beta }\sin \gamma } & 0 \\ \end{array} } \right],$$

where \({{\varvec{\upomega}}}_{0}^{1} = \left[ {\omega_{x} ,\omega_{y} ,\omega_{z} } \right]^{T} = \left[ {\dot{\alpha }\cos \beta \cos \gamma + \dot{\beta }\sin \gamma , - \dot{\alpha }\cos \beta \sin \gamma + \dot{\beta }\cos \gamma ,\dot{\alpha }\sin \beta + \dot{\gamma }} \right]^{T}\), the previous vector can be represented as follows:

$${\varvec{\omega}}_{0}^{1} = {\mathbf{R}}_{{\phi_{1} }} {\dot{\mathbf{\Phi }}}$$
(7)

where

$${\mathbf{R}}_{{\phi_{1} }} = \left[ {\begin{array}{*{20}c} {\cos \beta \cos \gamma } & {\sin \gamma } & 0 & 0 \\ { - \cos \beta \sin \gamma } & {\cos \gamma } & 0 & 0 \\ {\sin \beta } & 0 & 1 & 0 \\ \end{array} } \right] {\text{ and }} {\dot{\mathbf{\Phi }}} = \left[ {\dot{\alpha },\dot{\beta },\dot{\gamma },\dot{\theta }} \right]^{T} ,$$

substituting Eq. (7) into (6), then:

$${\mathbf{v}}_{G1}^{0}={\mathbf{v}}_{1}^{0}{-\mathbf{R}}_{1}^{0}{\widetilde{\mathbf{r}}}_{{\text{G}}{1}^{\prime}}^{1}{\mathbf{R}}_{{\phi }_{1}}\dot{{\varvec{\Phi}}}$$

we can write the above vector equation as:

$${\mathbf{v}}_{G1}^{0}=\left[\begin{array}{cc}{\mathbf{I}}_{3\times 3}& {-\mathbf{R}}_{1}^{0}{\widetilde{\mathbf{r}}}_{G{1}^{\prime}}^{1}{\mathbf{R}}_{{\phi }_{1}}\end{array}\right]\dot{\mathbf{q}}$$
(8)

where \({\mathbf{I}}_{3\times 3}\) is an identity matrix and \({\dot{\mathbf{q}}=\left[{{\mathbf{v}}_{1}^{0}}^{T},\dot{{\varvec{\Phi}}}\right]}^{T}={\left[\dot{x},\dot{y},\dot{z},\dot{\alpha },\dot{\beta },\dot{\gamma },\dot{\theta }\right]}^{T}\) is the time derivative of the generalized coordinate vector\(\mathbf{q}\). We are now expressing the same idea to the angular velocity vector \({{\varvec{\upomega}}}_{0}^{1}\):

$${{\varvec{\upomega}}}_{0}^{1}=\left[\begin{array}{cc}\mathbf{0}_{3\times 3}& {\mathbf{R}}_{{\phi }_{1}}\end{array}\right]\dot{\mathbf{q}}$$
(9)

Basket Assembly Kinematic

We can establish the position vector of the basket assembly gravity center \({G}_{2}\) (Fig. 2b) as:

$${\mathbf{r}}_{G2}^{0}={\mathbf{r}}_{1}^{0}+{\mathbf{R}}_{2}^{0}{\mathbf{r}}_{G{2}^{\prime}}^{2}$$
(10)

where \({\mathbf{r}}_{G{2}^{\prime}}^{2}=[{x}_{G2},{y}_{G2},{z}_{G2}{]}^{T}\) is defined at local frame \({{\text{CS}}}_{2}\) and \({\mathbf{R}}_{2}^{0}\) is the transformation matrix from \({{\text{CS}}}_{2}\) to \({{\text{CS}}}_{0}\) and using the Cardan Angles, it can be expressed as:

$${\mathbf{R}}_{2}^{0}={\mathbf{R}}_{x}(\alpha ){\mathbf{R}}_{y}(\beta ){\mathbf{R}}_{z}(\gamma +\theta )$$

Differentiating Eq. (10) and following the previous development of the kinematic for the tub assembly, the kinematics of the basket assembly is expressed as:

$$\begin{aligned} {\dot{\mathbf{v}}}_{G2}^{0} & = {\mathbf{v}}_{1}^{0} + {\dot{\mathbf{R}}}_{2}^{0} {\mathbf{r}}_{{G2^{\prime}}}^{2} \\ & = {\mathbf{v}}_{1}^{0} - {\dot{\mathbf{R}}}_{2}^{0} {\tilde{\mathbf{r}}}_{{G2^{\prime}}}^{2} {{\varvec{\upomega}}}_{0}^{2} \\ & = {\mathbf{v}}_{1}^{0} - {\dot{\mathbf{R}}}_{2}^{0} {\tilde{\mathbf{r}}}_{{G2^{\prime}}}^{2} {\mathbf{R}}_{{\phi_{2} }} {\dot{\mathbf{\Phi }}} \\ \end{aligned}$$

we can write the above vector equation as:

$${\mathbf{v}}_{G2}^{0}=\left[\begin{array}{cc}{\mathbf{I}}_{3\times 3}& {-\mathbf{R}}_{2}^{0}{\widetilde{\mathbf{r}}}_{G{2}^{\prime}}^{2}{\mathbf{R}}_{{\phi }_{2}}\end{array}\right]\dot{\mathbf{q}}$$
(11)

and

$${{\varvec{\upomega}}}_{0}^{2}=\left[\begin{array}{cc}\mathbf{0}_{3\times 3}& {\mathbf{R}}_{{\phi }_{2}}\end{array}\right]\dot{\mathbf{q}}$$
(12)

where \({{\varvec{\Omega}}}_{0}^{2}={\left({\mathbf{R}}_{2}^{0}\right)}^{T}{\dot{\mathbf{R}}}_{2}^{0}\)

$${{\varvec{\Omega}}}_{0}^{2} = \left[ {\begin{array}{*{20}c} 0 & { - \dot{\alpha }\sin \beta - \left( {\dot{\gamma } - \dot{\theta }} \right)} & { - \dot{\alpha }\cos \beta \sin \left( {\gamma + \theta } \right) + \dot{\beta }\cos \left( {\gamma + \theta } \right)} \\ {\dot{\alpha }\sin \beta + \left( {\dot{\gamma } + \dot{\theta }} \right)} & 0 & { - \dot{\alpha }\cos \beta \cos \left( {\gamma + \theta } \right) - \dot{\beta }\sin \left( {\gamma + \theta } \right)} \\ {\dot{\alpha }\cos \beta \sin \left( {\gamma + \theta } \right) - \dot{\beta }\cos \left( {\gamma + \theta } \right)} & {\dot{\alpha }\cos \beta \cos \left( {\gamma + \theta } \right) + \dot{\beta }\sin \left( {\gamma + \theta } \right)} & 0 \\ \end{array} } \right]$$

and the angular velocity vector \({{\varvec{\upomega}}}_{0}^{2}\) is expressed as:

$${{\varvec{\upomega}}}_{0}^{2} = \left[ {\omega_{x} ,\omega_{y} ,\omega_{z} } \right]^{T} = \left[ {\dot{\alpha }\cos \beta \cos \left( {\gamma + \theta } \right) + \dot{\beta }\sin \left( {\gamma + \theta } \right), - \dot{\alpha }\cos \beta \sin \left( {\gamma + \theta } \right) + \dot{\beta }\cos \left( {\gamma + \theta } \right),\dot{\alpha }\sin \beta + \left( {\dot{\gamma } + \dot{\theta }} \right)} \right]^{T} .$$

Thus, the previous vector is represented as follows:

$${{\varvec{\upomega}}}_{0}^{2}={\mathbf{R}}_{{\phi }_{2}}\dot{{\varvec{\Phi}}}$$
(13)
$${\mathbf{R}}_{{\phi_{2} }} = \left[ {\begin{array}{*{20}c} {\cos \beta \cos \left( {\gamma + \theta } \right)} & {\sin \left( {\gamma + \theta } \right)} & 0 & 0 \\ { - \cos \beta \sin \left( {\gamma + \theta } \right)} & {\cos \left( {\gamma + \theta } \right)} & 0 & 0 \\ {\sin \beta } & 0 & 1 & 1 \\ \end{array} } \right].$$

Imbalanced Mass Kinematic

The imbalanced mass is attached to the basket assembly. The position vector of the imbalanced mass gravity center \({G}_{m}\) is represented in Fig. 2c as follows:

$${\mathbf{r}}_{Gm}^{0}={\mathbf{r}}_{1}^{0}+{\mathbf{R}}_{2}^{0}{\mathbf{r}}_{G{m}^{\prime}}^{2}$$
(14)

where \({\mathbf{r}}_{G{m}^{\prime}}^{2}=[{x}_{Gm},{y}_{Gm},{z}_{G2m}{]}^{T}\) is defined in local frame \({{\text{CS}}}_{2}\). Similarly, the earlier procedure from the basket assembly can be followed to create the imbalanced mass’s translational and angular vector. Thus:

$${\mathbf{v}}_{Gm}^{0} ={\mathbf{v}}_{1}^{0}+{\dot{\mathbf{R}}}_{2}^{0}{\mathbf{r}}_{G{m}^{\prime}}^{2}$$
(15)
$${\mathbf{v}}_{Gm}^{0}=\left[\begin{array}{cc}{\mathbf{I}}_{3\times 3}& {-\mathbf{R}}_{2}^{0}{\widetilde{\mathbf{r}}}_{{\text{G}}{m}^{\prime}}^{1}{\mathbf{R}}_{{\phi }_{2}}\end{array}\right]\dot{\mathbf{q}}$$
(16)
$${{\varvec{\upomega}}}_{2}^{m}=\left[\begin{array}{cc}\mathbf{0}_{3x3}& {\mathbf{R}}_{{\phi }_{2}}\end{array}\right]\dot{\mathbf{q}}$$
(17)

Lagrange Method

The Lagrange method is used to develop the equations of motion using generalized coordinates [23], which avoid internal constraint forces. The Lagrange function is defined as:

$$L=K-U$$
(18)

where \(K\) is the kinetic energy and \(U\) the potential energy of the system. Kinetic energy depends on the position and the velocity, while the potential energy depends exclusively on the position.

$$K=\frac{1}{2}m{\mathbf{v}}_{G}^{T}{\mathbf{v}}_{G}+\frac{1}{2}{{\varvec{\upomega}}}^{T}{\mathbf{J}}_{G}{\varvec{\upomega}}$$
(19)
$$U=m{\mathbf{g}}^{T}{\mathbf{R}}_{cg}$$
(20)

where \({\mathbf{g}}^{T}={\left[0,-g,0\right]}^{T}\) is the gravity vector, \({\mathbf{J}}_{G}\) and \({\mathbf{R}}_{cg}\) are the inertia matrix expressed at gravity center and position vector of every assembly.

The Lagrange equation is formulated in terms of the Lagrange function [23] and its generalized coordinates \(\mathbf{q}\). Thus,

$$\frac{d}{dt}\left(\frac{\partial L}{\partial {\dot{q}}_{j}}\right)-\frac{\partial L}{\partial {q}_{j}}={Q}_{j}$$
(21)

where j = 1,2,……,7 is the number of generalized coordinates.

The \({Q}_{j}\) is called generalized force and corresponds to the \(i-th\) generalized coordinate and it is defined by the virtual work of the forces \({\mathbf{F}}_{i}\) and the virtual displacement \(\delta {\mathbf{r}}_{i}\), the work done by the moment \({\mathbf{M}}_{m}\) and the virtual angular displacement \(\delta {{\varvec{\Theta}}}_{m}\).

$$\delta W={\mathbf{Q}}^{T}\delta \mathbf{q}=\sum_{i}{\mathbf{F}}_{i}^{T}\delta {\mathbf{r}}_{{\text{i}}}+\sum_{m}{\mathbf{M}}_{m}^{T}\delta {{\varvec{\Theta}}}_{m}$$
(22)

The virtual displacements have a relationship between external forces. Therefore, virtual translational displacements \(\delta {\text{r}}\) are expressed as follows [24]:

$$\delta {\mathbf{r}}_{i}=\sum_{j=1}^{n}\frac{\partial {\mathbf{r}}_{i}}{\partial {q}_{j}}\delta {q}_{j}$$
(23)

The angular virtual displacements are expressed in terms of the angular velocity and virtual displacements [25]:

$$\delta {{\varvec{\Theta}}}_{m}=\sum_{j=1}^{n}\frac{\partial {{\varvec{\upomega}}}_{i}}{\partial {\dot{q}}_{j}}\delta {q}_{j}$$
(24)

where vector \({\varvec{\upomega}}\) is an angular velocity vector defined in an inertial frame.

In the next section, the kinetic and potential energy will be described for the washing machine assembly besides the generalized force of suspension system.

Kinetic Energy of the Tub Assembly

Using the kinetic energy definition and substituting Eqs. (8) and (9) into Eq. (19) yields:

$${K}_{1}=\frac{1}{2}{\mathbf{q}}^{T}{\mathbf{M}}_{1}\dot{\mathbf{q}}$$
(25)

where

$${\mathbf{M}}_{1}=\left[\begin{array}{cc}{{m}_{1}\mathbf{I}}_{3\times 3}& -{m}_{1}{\mathbf{R}}_{1}^{0}{\widetilde{\mathbf{r}}}_{{\text{G}}{1}^{\prime}}^{1}{\mathbf{R}}_{{\phi }_{1}}\\ -{m}_{1}{\left({\mathbf{R}}_{{\phi }_{1}}\right)}^{T}{\left({\widetilde{\mathbf{r}}}_{G{1}^{\prime}}^{1}\right)}^{T}{\left({\mathbf{R}}_{1}^{0}\right)}^{T}& {\left({\mathbf{R}}_{{\phi }_{1}}\right)}^{T}\left({m}_{1}\left({\left({\widetilde{\mathbf{r}}}_{G{1}^{\prime}}^{1}\right)}^{T}{\widetilde{\mathbf{r}}}_{G{1}^{\prime}}^{1}\right)+{\mathbf{J}}_{G1}\right){\mathbf{R}}_{{\phi }_{1}}\end{array}\right]$$
(26)

Kinetic Energy of the Basket Assembly

Using the kinetic energy definition and substituting Eqs. (11) and (12) into Eq. (19) yields:

$${K}_{2}=\frac{1}{2}{\mathbf{q}}^{T}{\mathbf{M}}_{2}\dot{\mathbf{q}}$$
(27)

where

$${\mathbf{M}}_{2}=\left[\begin{array}{cc}{{m}_{2}\mathbf{I}}_{3\times 3}& -{m}_{2}{\mathbf{R}}_{2}^{0}{\widetilde{\mathbf{r}}}_{{\text{G}}{2}^{\prime}}^{2}{\mathbf{R}}_{{\phi }_{2}}\\ -{m}_{2}{\left({\mathbf{R}}_{{\phi }_{2}}\right)}^{T}{\left({\widetilde{\mathbf{r}}}_{G{2}^{\prime}}^{2}\right)}^{T}{\left({\mathbf{R}}_{2}^{0}\right)}^{T}& {\left({\mathbf{R}}_{{\phi }_{2}}\right)}^{T}\left({m}_{2}\left({\left({\widetilde{\mathbf{r}}}_{G{2}^{\prime}}^{2}\right)}^{T}{\widetilde{\mathbf{r}}}_{G{2}^{\prime}}^{2}\right)+{\mathbf{J}}_{G2}\right){\mathbf{R}}_{{\phi }_{2}}\end{array}\right]$$
(28)

Kinetic Energy of the Imbalanced Mass

Previous procedure can be used to define the kinetic energy of the imbalanced mass:

$${K}_{m}=\frac{1}{2}{\mathbf{q}}^{T}{\mathbf{M}}_{m}\dot{\mathbf{q}}$$
(29)

where

$${\mathbf{M}}_{m}=\left[\begin{array}{cc}{{m}_{m}\mathbf{I}}_{3\times 3}& -{m}_{m}{\mathbf{R}}_{2}^{0}{\widetilde{\mathbf{r}}}_{{\text{G}}{m}^{\prime}}^{2}{\mathbf{R}}_{{\phi }_{2}}\\ -{m}_{m}{\left({\mathbf{R}}_{{\phi }_{2}}\right)}^{T}{\left({\widetilde{\mathbf{r}}}_{G{m}^{\prime}}^{2}\right)}^{T}{\left({\mathbf{R}}_{2}^{0}\right)}^{T}& {\left({\mathbf{R}}_{{\phi }_{2}}\right)}^{T}\left({m}_{m}\left({\left({\widetilde{\mathbf{r}}}_{G{m}^{\prime}}^{2}\right)}^{T}{\widetilde{\mathbf{r}}}_{G\mathrm{m^{\prime}}}^{2}\right)+{\mathbf{J}}_{Gm}\right){\mathbf{R}}_{{\phi }_{2}}\end{array}\right]$$
(30)

Potential Energy of Assemblies

Position vectors were defined previously, so potential energy of assembly \(i-{\text{th}}\) is expressed as follows:

Tub assembly

$${U}_{1}=-{m}_{1}{\mathbf{g}}^{T}{\mathbf{r}}_{G1}^{0}$$
(31)

Basket assembly

$${U}_{2}=-{m}_{2}{\mathbf{g}}^{T}{\mathbf{r}}_{G2}^{0}$$
(32)

Imbalanced mass

$${U}_{m}=-{m}_{m}{\mathbf{g}}^{T}{\mathbf{r}}_{Gm}^{0}$$
(33)

Generalized Forces Provide by the Suspension System

Generalized forces of the suspension system are needed to build Lagrange’s equation. Considering the mass of the suspension spring and shock dampers as a massless component since they are tiny compared to the rest of the assemblies, inertia forces acting on them can be neglected. New local reference frames are defined to determine the suspension position consistently. Therefore, local frames are defined \({{\text{CS}}}_{{\text{s}}}({X}_{si}{Y}_{si}{Z}_{si})\) and \({{\text{CS}}}_{{\text{d}}}({X}_{di}{Y}_{di}{Z}_{di})\) for spring components and shock absorbers, respectively.

Spring Forces

According to Hook Law for lineal springs:

$${\mathbf{F}}_{si}={F}_{si}{\mathbf{Y}}_{si}$$
(34)
$${F}_{si}={k}_{si}\left({L}_{si}-{L}_{0}\right)$$
(35)

where \({L}_{si}=\parallel {\mathbf{d}}_{si}\parallel\), \({k}_{si}\) is the spring stiffness, \({L}_{si}\) is final length of \(i-th\) spring and \({L}_{0}\) is the spring initial length.

It should be noted that the \(i-th\) spring location on the tub assembly is needed to get \({\mathbf{d}}_{si}\). Figure 3 shows the vector diagram of the \(i-th\) spring location on the tub assembly, but this location can be addressed in two different ways:

Fig. 3
figure 3

Spring position vector

From the tub side:

$${\mathbf{r}}_{si,1}^{0}={\mathbf{r}}_{1}^{0}+{\mathbf{R}}_{1}^{0}{\mathbf{r}}_{si,1}^{1}$$
(36)

where \({\mathbf{r}}_{si,1}^{1}\) is a vector position defined in a local frame \({{\text{CS}}}_{1}\).

From the ground side:

$${\mathbf{d}}_{si}={\mathbf{r}}_{si,g}^{0}-\left({\mathbf{r}}_{1}^{0}+{\mathbf{R}}_{1}^{0}{\mathbf{r}}_{si,1}^{1}\right)$$
(37)

Finally, the unit vector \({\mathbf{Y}}_{si}\) is defined as \({\mathbf{Y}}_{si}={\mathbf{d}}_{si}/\parallel {\mathbf{d}}_{si}\parallel\).

Shock Damper Forces

Shock absorber force is defined as follows:

$${\mathbf{F}}_{di}={F}_{di}{\mathbf{Y}}_{di}$$
(38)
$${F}_{di}=-{c}_{di}{\dot{L}}_{di}$$
(39)

where \({c}_{di}\) is the damping coefficient and \({\dot{L}}_{di}\) is the magnitude of velocity vector of shock absorber \(i-{\text{th}}\). \({\dot{L}}_{di}\) can be obtained considering the next vector diagram from Fig. 4:

Fig. 4
figure 4

Shock absorbers position vector

Now, if the shock damper position on the tub assembly is defined on inertial frame, then

$${\mathbf{r}}_{di,1}^{0}={\mathbf{r}}_{1}^{0}+{\mathbf{R}}_{1}^{0}{\mathbf{r}}_{di,1}^{1}$$
(40)

Differentiating Eq. (36) with respect to time:

$${\dot{\mathbf{r}}}_{di,1}^{0}={\dot{\mathbf{r}}}_{1}^{0}+{\dot{\mathbf{R}}}_{1}^{0}{\mathbf{r}}_{di,1}^{1}$$

and following the same procedure as Eq. (8):

$${\dot{\mathbf{r}}}_{di,1}^{0}={\dot{\mathbf{r}}}_{1}^{0}{-\mathbf{R}}_{1}^{0}{\widetilde{\mathbf{r}}}_{{\text{di}},1}^{1}{\mathbf{R}}_{{\phi }_{1}}\dot{{\varvec{\Phi}}}$$
(41)
$${\mathbf{v}}_{di,1}^{0}=\left[\begin{array}{cc}{\mathbf{I}}_{3\times 3}& {-\mathbf{R}}_{1}^{0}{\widetilde{\mathbf{r}}}_{di,1}^{1}{\mathbf{R}}_{{\phi }_{1}}\end{array}\right]\dot{\mathbf{q}}$$
(42)

From Fig. 4, the vector \({\mathbf{d}}_{di}\) is defined as follows:

$${\mathbf{d}}_{di}={\mathbf{r}}_{di,g}^{0}-{\mathbf{r}}_{di,1}^{0}$$
(43)

Differentiating Eq. (43) with respect to time:

$${\dot{\mathbf{d}}}_{di}=-{\dot{\mathbf{r}}}_{di,1}^{0}=-{\mathbf{v}}_{di,1}^{0}$$
(44)

the unit vector \({\mathbf{Y}}_{di}\) is defined as \({\mathbf{Y}}_{di}={\mathbf{d}}_{di}/\parallel {\mathbf{d}}_{di}\parallel\) and \({\dot{L}}_{di}={\dot{\mathbf{d}}}_{di}^{T}\left({\mathbf{d}}_{di}/\parallel {\mathbf{d}}_{di}\parallel \right)\).

Virtual Work Displacements

From Eq. (22), the equation of virtual work, virtual displacements are needed. Therefore, position vectors where the restitution and the damping forces are applied must be defined.

From Eq. (36), the virtual displacement is expressed as:

$$\delta {\mathbf{r}}_{si,1}^{0}=\delta {\mathbf{r}}_{1}^{0}+\delta \left({\mathbf{R}}_{1}^{0}{\mathbf{r}}_{si,1}^{1}\right)$$
(45)

where \(\delta {\mathbf{r}}_{si,1}^{1}=\mathbf{0}\) since is a constant vector.

$$\delta {\mathbf{r}}_{1}^{0}=[\delta x,\delta y,\delta z{]}^{T}$$
(46)
$$\delta \left({\mathbf{R}}_{1}^{0}{\mathbf{r}}_{si,1}^{1}\right)={\mathbf{J}}_{si}\delta{\varvec{\Phi}}$$
(47)

where

$${\mathbf{J}}_{si}=\left[\begin{array}{cccc}\frac{\partial {\mathbf{R}}_{1}^{0}}{\partial \alpha }{\mathbf{r}}_{si,1}^{1}& \frac{\partial {\mathbf{R}}_{1}^{0}}{\partial \beta }{\mathbf{r}}_{si,1}^{1}& \frac{\partial {\mathbf{R}}_{1}^{0}}{\partial \gamma }{\mathbf{r}}_{si,1}^{1}& \frac{\partial {\mathbf{R}}_{1}^{0}}{\partial \theta }{\mathbf{r}}_{si,1}^{1}\end{array}\right]$$
$$\delta{\varvec{\Phi}}={\left[\delta \alpha ,\delta \beta ,\delta \gamma ,\delta \theta \right]}^{T}$$

substituting Eqs. (47) and (46) into Eq. (45):

$$\delta {\mathbf{r}}_{si,1}^{0}={{\varvec{\Gamma}}}_{si}\delta \mathbf{q}$$
(48)
$${{\varvec{\Gamma}}}_{si}=\left[\begin{array}{cc}{\mathbf{I}}_{3\times 3}& {\mathbf{J}}_{si}\end{array}\right]$$
(49)
$$\delta \mathbf{q}={\left[\delta x,\delta y,\delta z,\delta \alpha ,\delta \beta ,\delta \gamma ,\delta \theta \right]}^{T}$$

Similar process is used to obtain the virtual displacements for Eq. (40):

$$\delta {\mathbf{r}}_{di,1}^{0}={{\varvec{\Gamma}}}_{di}\delta \mathbf{q}$$
(50)

where

$${{\varvec{\Gamma}}}_{di}=\left[\begin{array}{cc}{\mathbf{I}}_{3\times 3}& {\mathbf{J}}_{di}\end{array}\right]$$
(51)
$${\mathbf{J}}_{di}=\left[\begin{array}{cccc}\frac{\partial {\mathbf{R}}_{1}^{0}}{\partial \alpha }{\mathbf{r}}_{di,1}^{1}& \frac{\partial {\mathbf{R}}_{1}^{0}}{\partial \beta }{\mathbf{r}}_{di,1}^{1}& \frac{\partial {\mathbf{R}}_{1}^{0}}{\partial \gamma }{\mathbf{r}}_{di,1}^{1}& \frac{\partial {\mathbf{R}}_{1}^{0}}{\partial \theta }{\mathbf{r}}_{di,1}^{1}\end{array}\right]$$

On the other hand, the angular velocity of the basket assembly \({{\varvec{\omega}}}_{0}^{2}={\mathbf{R}}_{{\phi }_{2}}\dot{{\varvec{\Phi}}}\) is defined at the local coordinate system \({{\text{CS}}}_{2}\). However, this vector must be transformed to the inertial frame \({{\text{CS}}}_{0}\):

$${{\varvec{\upomega}}}_{2}^{0}={\mathbf{R}}_{2}^{0}{{\varvec{\upomega}}}_{0}^{2}={{\varvec{\Gamma}}}_{\omega }\dot{\mathbf{q}}$$
(52)
$${{\varvec{\Gamma}}}_{\omega }=\left[\begin{array}{cc}\mathbf{0}_{3\times 3}& {\mathbf{J}}_{\omega }\end{array}\right]$$
(53)
$${\mathbf{J}}_{\omega }={\mathbf{R}}_{2}^{0}{\mathbf{R}}_{{\phi }_{2}}$$

The angular virtual displacements are obtained from \({{\varvec{\upomega}}}_{2}^{0}\) by applying Eq. (24) into Eq. (52) as follows:

$$\delta{\varvec{\Theta}}=\frac{\partial {{\varvec{\upomega}}}_{2}^{0}}{\partial {\dot{q}}_{j}}\delta {\mathbf{q}}_{j}$$
$$={{\varvec{\Gamma}}}_{\omega }\left(\frac{\partial \dot{\mathbf{q}}}{\partial \dot{x}}\delta x+\frac{\partial \dot{\mathbf{q}}}{\partial \dot{y}}\delta y+\frac{\partial \dot{\mathbf{q}}}{\partial \dot{z}}\delta z+\frac{\partial \dot{\mathbf{q}}}{\partial \dot{\alpha }}\delta \alpha +\frac{\partial \dot{\mathbf{q}}}{\partial \dot{\beta }}\delta \beta +\frac{\partial \dot{\mathbf{q}}}{\partial \dot{\gamma }}\delta \gamma \frac{\partial \dot{\mathbf{q}}}{\partial \dot{\theta }}\delta \theta \right)$$
$$\delta{\varvec{\Theta}}={{\varvec{\Gamma}}}_{\upomega }\delta \mathbf{q}$$
(54)

where \(\partial \dot{{\varvec{q}}}/\partial \dot{x}={\left[\mathrm{1,0},\mathrm{0,0},\mathrm{0,0},0\right]}^{T}\). Similarly, the other partial derivatives can be obtained. The generalized forces Eq. (22) provided by the suspension system, the motor torque \({{\varvec{\uptau}}}_{0}={\left[\mathrm{0,0},\tau \right]}^{T}\), and the virtual displacements described in Eqs. (48), (50), and (54) can be expressed as:

$$\begin{aligned} \delta W & = {\mathbf{F}}_{di}^{T} \delta {\mathbf{r}}_{di,1}^{0} + {\mathbf{F}}_{si}^{T} \delta {\mathbf{r}}_{si,1}^{0} + {{\varvec{\uptau}}}_{0}^{T} \delta {{\varvec{\Theta}}} \\ & = \left( {{\mathbf{F}}_{di}^{T} {{\varvec{\Gamma}}}_{di} + {\mathbf{F}}_{si}^{T} {{\varvec{\Gamma}}}_{si} + {{\varvec{\uptau}}}_{0}^{T} {{\varvec{\Gamma}}}_{\omega } } \right)\delta {\mathbf{q}} \\ \end{aligned}$$
(55)
$$\delta W={\mathbf{Q}}^{T}\delta \mathbf{q}$$
(56)

Thus:

$$\mathbf{Q}={\left({\mathbf{F}}_{di}^{T}{{\varvec{\Gamma}}}_{di}+{\mathbf{F}}_{si}^{T}{{\varvec{\Gamma}}}_{si}+{{\varvec{\uptau}}}_{0}^{T}{{\varvec{\Gamma}}}_{\omega }\right)}^{T}$$
(57)

Substituting Eqs. (49), (51) and (53) into Eq. (57) yields:

$$\mathbf{Q}=\left[\begin{array}{c}{\mathbf{I}}_{3\times 3}\\ {\mathbf{J}}_{di}^{T}\end{array}\right]{\mathbf{F}}_{di}+\left[\begin{array}{c}{\mathbf{I}}_{3\times 3}\\ {\mathbf{J}}_{si}^{T}\end{array}\right]{\mathbf{F}}_{si}+\left[\begin{array}{c}\mathbf{0}_{3\times 3}\\ {\mathbf{J}}_{\omega }^{T}\end{array}\right]{{\varvec{\uptau}}}_{0}$$
$$=\left[\begin{array}{c}{\mathbf{F}}_{0}\\ {\mathbf{J}}_{di}^{T}{\mathbf{F}}_{di}+{\mathbf{J}}_{si}^{T}{\mathbf{F}}_{si}+{\mathbf{J}}_{\omega }^{T}{{\varvec{\uptau}}}_{0}\end{array}\right]$$

where \({\mathbf{F}}_{0}={\mathbf{F}}_{di}+{\mathbf{F}}_{si}\).

Performing the Lagrange function (18) for each assembly, we obtain three Lagrangian as follows:

$${L}_{1}={K}_{1}-{U}_{1}=\frac{1}{2}{\dot{\mathbf{q}}}^{T}{\mathbf{M}}_{1}\dot{\mathbf{q}}+{m}_{1}{\mathbf{g}}^{T}{\mathbf{r}}_{G1}^{0}$$
(58)
$${L}_{2}={K}_{2}-{U}_{2}=\frac{1}{2}{\dot{\mathbf{q}}}^{T}{\mathbf{M}}_{2}\dot{\mathbf{q}}+{m}_{2}{\mathbf{g}}^{T}{\mathbf{r}}_{G2}^{0}$$
(59)
$${L}_{m}={K}_{m}-{U}_{m}=\frac{1}{2}{\dot{\mathbf{q}}}^{T}{\mathbf{M}}_{m}\dot{\mathbf{q}}+{m}_{m}{\mathbf{g}}^{T}{\mathbf{r}}_{Gm}^{0}$$
(60)

The dynamic model of the washing machine can be developed after substituting the generalized forces, the kinetic energy, and the potential energy of every assembly described in Eqs. (57), (58), (59), and (60) into Lagrange’s equation Eq. (21) as:

$$\frac{d}{dt}\left(\frac{\partial L}{\partial {\dot{q}}_{j}}\right)=\frac{d}{dt}\left(\frac{\partial {L}_{1}}{\partial {\dot{q}}_{j}}\right)+\frac{d}{dt}\left(\frac{\partial {L}_{2}}{\partial {\dot{q}}_{j}}\right)+\frac{d}{dt}\left(\frac{\partial {L}_{m}}{\partial {\dot{q}}_{j}}\right)$$
$$={\left({\mathbf{D}}_{1j}+{\mathbf{D}}_{2j}+{\mathbf{D}}_{mj}\right)}^{T}\ddot{\mathbf{q}}+{\left({\mathbf{V}}_{1j}+{\mathbf{V}}_{2j}+{\mathbf{V}}_{mj}\right)}^{T}\dot{\mathbf{q}}$$
(61)
$$\frac{\partial L}{\partial {q}_{j}}=\frac{\partial {L}_{1}}{\partial {q}_{j}}+\frac{\partial {L}_{2}}{\partial {q}_{j}}+\frac{\partial {L}_{m}}{\partial {q}_{j}}$$
$$={\left({\mathbf{V}}_{1jp}+{\mathbf{V}}_{2jp}+{\mathbf{V}}_{mjp}\right)}^{T}\dot{\mathbf{q}}+{C}_{1jp}+{C}_{2jp}+{C}_{mjp}$$
(62)

where \({\ddot{\mathbf{q}}=\left[\ddot{x},\ddot{y},\ddot{z},\ddot{\alpha },\ddot{\beta },\ddot{\gamma },\ddot{\theta }\right]}^{T}\)

\({\mathbf{D}}_{1j}={\mathbf{M}}_{1}^{T}\frac{\partial \dot{\mathbf{q}}}{\partial {\dot{q}}_{j}}\) \({\mathbf{V}}_{1j}={\dot{\mathbf{M}}}_{1}^{T}\frac{\partial \dot{\mathbf{q}}}{\partial {\dot{q}}_{j}}\) \({\mathbf{V}}_{1jp}=\frac{1}{2}\frac{\partial {\mathbf{M}}_{1}^{T}}{\partial {q}_{j}}\dot{\mathbf{q}}\) \({C}_{1jp}={m}_{1}{\mathbf{g}}^{T}\left(\frac{\partial {\mathbf{r}}_{1}^{0}}{\partial {q}_{j}}+\frac{\partial {\mathbf{R}}_{1}^{0}}{\partial {q}_{j}}{\mathbf{r}}_{G{1}^{\mathrm{^{\prime}}}}^{1}\right)\).

\({\mathbf{D}}_{2j}={\mathbf{M}}_{2}^{T}\frac{\partial \dot{\mathbf{q}}}{\partial {\dot{q}}_{j}}\) \({V}_{2j}={\dot{\mathbf{M}}}_{2}^{T}\frac{\partial \dot{\mathbf{q}}}{\partial {\dot{q}}_{j}}\) \({\mathbf{V}}_{2jp}=\frac{1}{2}\frac{\partial {\mathbf{M}}_{2}^{T}}{\partial {q}_{j}}\dot{\mathbf{q}}\) \({C}_{2jp}={m}_{2}{\mathbf{g}}^{T}\left(\frac{\partial {\mathbf{r}}_{1}^{0}}{\partial {q}_{j}}+\frac{\partial {\mathbf{R}}_{2}^{0}}{\partial {q}_{j}}{\mathbf{r}}_{G{2}^{\mathrm{^{\prime}}}}^{2}\right)\).

\({\mathbf{D}}_{mj}={\mathbf{M}}_{m}^{T}\frac{\partial \dot{\mathbf{q}}}{\partial {\dot{q}}_{j}}\) \({V}_{mj}={\dot{\mathbf{M}}}_{m}^{T}\frac{\partial \dot{\mathbf{q}}}{\partial {\dot{q}}_{j}}\) \({\mathbf{V}}_{mjp}=\frac{1}{2}\frac{\partial {\mathbf{M}}_{m}^{T}}{\partial {q}_{j}}\dot{\mathbf{q}}\) \({C}_{mjp}={m}_{m}{\mathbf{g}}^{T}\left(\frac{\partial {\mathbf{r}}_{1}^{0}}{\partial {q}_{j}}+\frac{\partial {\mathbf{R}}_{2}^{0}}{\partial {q}_{j}}{\mathbf{r}}_{G{m}^{\mathrm{^{\prime}}}}^{2}\right)\).with \({\dot{\mathbf{M}}}_{i}=d{\mathbf{M}}_{i}/dt\). Replacing Eqs. (61) and (62) into Eq. (21) yields:

$${\mathbf{D}}_{j}^{T}\ddot{\mathbf{q}}+{\mathbf{V}}_{j}^{T}\dot{\mathbf{q}}+{C}_{j}={Q}_{j}$$
(63)

where

$${\mathbf{D}}_{j}={\mathbf{D}}_{1j}+{\mathbf{D}}_{2j}+{\mathbf{D}}_{mj}$$
$${\mathbf{V}}_{j}={\mathbf{V}}_{1j}+{\mathbf{V}}_{2j}+{\mathbf{V}}_{mj}-{\mathbf{V}}_{1jp}-{\mathbf{V}}_{2jp}-{\mathbf{V}}_{mjp}$$
$${C}_{j}=-\left({C}_{1jp}+{C}_{2jp}+{C}_{mjp}\right)$$

Finally, for j = 1, 2,…..,7, the dynamic model of the washing machine is described as:

$$\mathbf{D}\ddot{\mathbf{q}}+\mathbf{V}\dot{\mathbf{q}}+\mathbf{C}=\mathbf{Q}$$
(64)

with

$$\mathbf{D}={\left[{\mathbf{D}}_{1}^{T},{\mathbf{D}}_{2}^{T},{\mathbf{D}}_{3}^{T},{\mathbf{D}}_{4}^{T},{\mathbf{D}}_{5}^{T},{\mathbf{D}}_{6}^{T},{\mathbf{D}}_{7}^{T}\right]}^{T}$$
$$\mathbf{V}={\left[{\mathbf{V}}_{1}^{T},{\mathbf{V}}_{2}^{T},{\mathbf{V}}_{3}^{T},{\mathbf{V}}_{4}^{T},{\mathbf{V}}_{5}^{T},{\mathbf{V}}_{6}^{T},{\mathbf{V}}_{7}^{T}\right]}^{T}$$
$$\mathbf{C}={\left[{C}_{1},{C}_{2},{C}_{3},{C}_{4},{C}_{5},{C}_{6},{C}_{7}\right]}^{T}$$
$$\mathbf{Q}={\left[{Q}_{1},{Q}_{2},{Q}_{3},{Q}_{4},{Q}_{5},{Q}_{6},{Q}_{7}\right]}^{T}$$

The dynamic model is solved as a differential equation, in which input excitation is the motor torque, and the solutions from the differential equation give a non-constant basket’s angular velocity (\(\theta\)’[t]). The basket’s angular velocity is considered non-constant because, in that case, it would force to solve dynamic equations as an inverse dynamic problem, resulting in finding an unnecessary motor torque.

The dynamic model provides seven differential equations for every generalized coordinate. The first six equations consider the springs, dampers, and motor torque effect. The seventh equation is related exclusively to the motor torque.

Bounding Box Application

The dynamic model describes the kinematic responses [displacements (\(\mathbf{q})\), velocities (\(\dot{\mathbf{q}}\)), and accelerations (\(\ddot{\mathbf{q}}\))] of the washing machine mass center as sets of points (Fig. 5a). These sets are enclosed in non-oriented bounding boxes, whose volume can be maximized or minimized. Simpler and equivalent bounding boxes are generated by orienting the sets of points via principal component analysis (PCA) [26]. For each kinematic response, PCA comprises computing covariance matrices’ eigenvectors to use them as axes of an orthonormal frame.

Fig. 5
figure 5

a Non-oriented bounding box. b Oriented bounding box

Covariance Matrix

Calculating the covariance matrix includes solving the dynamical model Eq. (64) in transient and steady states. Then, retrieving the kinematic responses\(\mathbf{q}\), \(\dot{\mathbf{q}}\), and \(\ddot{\mathbf{q}}\) only for translational movement, we can define \(\mathbf{q}={[{\mathbf{q}}_{t}\boldsymbol{ },{\mathbf{q}}_{r}]}^{T}\) where \({\mathbf{q}}_{t}{=\left[x,y,z\right]}^{T}\) and\({\mathbf{q}}_{r}{=\left[\alpha ,\beta ,\gamma ,\theta \right]}^{T}\). Consequently, \({\dot{\mathbf{q}}}_{t}{=\left[\dot{x},\dot{y},\dot{z}\right]}^{T}\) and\({\ddot{\mathbf{q}}}_{t}{=\left[\ddot{x},\ddot{y},\ddot{z}\right]}^{T}\).

The first step to creating the covariance matrix is to compute the mean position of the gravity center along each axis direction \(x, y, z\) to create a vector \(\mathbf{c}{=\left[{c}_{x},{c}_{y},{c}_{z}\right]}^{T}\). This vector represents the center of the data of a point cloud generated by the gravity center’s movement, velocity, and acceleration. Thus, the average of every direction is given by:

$$\mathbf{c}=\frac{{\sum }_{i=1}^{n}{\mathbf{q}}_{{t}_{i}}^{T}}{n}$$
(65)
$${c}_{x}=\frac{{\sum }_{i=1}^{n}{\mathbf{q}}_{{t}_{i}}^{T}\left[1\right]}{n}$$
(66)
$${c}_{y}=\frac{{\sum }_{i=1}^{n}{\mathbf{q}}_{{t}_{i}}^{T}\left[2\right]}{n}$$
(67)
$${c}_{z}=\frac{{\sum }_{i=1}^{n}{\mathbf{q}}_{{t}_{i}}^{T}\left[3\right]}{n}$$
(68)

The second step is computing the dispersion of gravity center kinematic responses about their means along the \(x, y, z\) axes and building the covariance matrix \({\mathbf{I}}_{{{\varvec{q}}}_{t}},{\dot{\mathbf{I}}}_{{{\varvec{q}}}_{t}},{\ddot{\mathbf{I}}}_{{{\varvec{q}}}_{t}}\).

$${{\varvec{I}}}_{{q}_{t}}=\left[\begin{array}{ccc}{I}_{xx}& {I}_{xy}& {I}_{xz}\\ {I}_{yx}& {I}_{yy}& {I}_{yz}\\ {I}_{zx}& {I}_{zy}& {I}_{zz}\end{array}\right]$$
(69)

where:

$$\begin{gathered} I_{xx} = \mathop \sum \limits_{i = 1}^{n} \left( {\left( {y_{i} - c_{y} } \right)^{2} + \left( {z_{i} - c_{z} } \right)^{2} } \right) \hfill \\ I_{yy} = \mathop \sum \limits_{i = 1}^{n} \left( {\left( {x_{i} - c_{x} } \right)^{2} + \left( {z_{i} - c_{z} } \right)^{2} } \right) \hfill \\ I_{zz} = \mathop \sum \limits_{i = 1}^{n} \left( {\left( {x_{i} - c_{x} } \right)^{2} + \left( {y_{i} - c_{y} } \right)^{2} } \right) \hfill \\ I_{xy} = - \mathop \sum \limits_{i = 1}^{n} \left( {\left( {x_{i} - c_{x} } \right)\left( {y_{i} - c_{y} } \right)} \right) \hfill \\ I_{yz} = - \mathop \sum \limits_{i = 1}^{n} \left( {\left( {y_{i} - c_{y} } \right)\left( {z_{i} - c_{z} } \right)} \right) \hfill \\ I_{xz} = - \mathop \sum \limits_{i = 1}^{n} \left( {\left( {x_{i} - c_{x} } \right)\left( {z_{i} - c_{z} } \right)} \right) \hfill \\ \end{gathered}$$
(70)

where \({I}_{xy}={I}_{yx}, {I}_{yz}={I}_{zy}\) and \({I}_{xz}={I}_{zx}\).

Similarly, \({\dot{\mathbf{I}}}_{{{\varvec{q}}}_{t}}\) and \({\ddot{\mathbf{I}}}_{{{\varvec{q}}}_{t}}\) are obtained for, \(\dot{\mathbf{q}},\ddot{\mathbf{q}}\), respectively.

$${\dot{\mathbf{I}}}_{{{\varvec{q}}}_{t}}=\left[\begin{array}{ccc}{\dot{I}}_{xx}& {\dot{I}}_{xy}& {\dot{I}}_{xz}\\ {\dot{I}}_{yx}& {\dot{I}}_{yy}& {\dot{I}}_{yz}\\ {\dot{I}}_{zx}& {\dot{I}}_{zy}& {\dot{I}}_{zz}\end{array}\right]$$
(71)
$${\ddot{\mathbf{I}}}_{{{\varvec{q}}}_{t}}=\left[\begin{array}{ccc}{\ddot{I}}_{xx}& {\ddot{I}}_{xy}& {\ddot{I}}_{xz}\\ {\ddot{I}}_{yx}& {\ddot{I}}_{yy}& {\ddot{I}}_{yz}\\ {\ddot{I}}_{zx}& {\ddot{I}}_{zy}& {\ddot{I}}_{zz}\end{array}\right]$$
(72)

Each covariance matrix defines the dispersion (variance) and the orientation (covariance) of the sets of points. For example, a vector and its magnitude represent the covariance matrix. In that case, the vector points out to the direction of the most extensive dispersion data, and the magnitude equals the dispersion (variance) in that direction. However, the variance can only be used to explain the scatter of the data in the directions parallel to the axes of the feature space (Fig. 6). In other words, a linear transformation is applied to the original data to obtain the data with the largest scatter parallel to the feature space. The rotated and scaled data are extracted.

Fig. 6
figure 6

Bounding box of GC displacements

The third step is obtaining this linear transformation by extracting eigenvectors from the covariance matrix and then normalizing them. The eigenvectors represent the directions of the data’s most enormous variance, and the eigenvalues represent the magnitude of this variance in those directions. Therefore, the covariance matrix, its eigenvectors \(\mathbf{v}\), and eigenvalues \(\lambda\) represent it as follows:

$${I}_{{q}_{t}}\mathbf{v}=\lambda \mathbf{v}$$
$$\overline{\mathbf{v} }=\frac{\mathbf{v}}{\left|\mathbf{v}\right|}$$
(73)

Finally, the matrix linear transformation is defined using these three eigenvectors:

$$\mathbf{T}={\left[\begin{array}{ccc}{\mathbf{v}}_{1}& {\mathbf{v}}_{2}& {\mathbf{v}}_{3}\end{array}\right]}^{T}$$
(74)

So now, the original data are arranged into the feature space where the largest vectors point out to parallel directions \(CS_{1} \left( {X^{\prime } Y^{\prime } Z^{\prime } } \right)\). The same process is followed to determine the displacement, velocity, and acceleration of washing machine center mass (GC) Fig. 5b.

$${\mathbf{c}}^{R}=\mathbf{T}\mathbf{c}$$
(75)
$${\dot{\mathbf{c}}}^{R}=\mathbf{T}\dot{\mathbf{c}}$$
(76)
$${\ddot{\mathbf{c}}}^{R}=\mathbf{T}\ddot{\mathbf{c}}$$
(77)

The new oriented data \({\mathbf{c}}^{R}\), \({\dot{\mathbf{c}}}^{R}\), \({\ddot{\mathbf{c}}}^{R}\) are used to define the regular bounding box of volume for all kinematic responses.

Genetic Algorithm

The genetic algorithm (GA) is a direct stochastic search-based optimization technique based on the mechanics of natural genetics [27]. Therefore, executed at different times, the GAs can lead to a different sequence of designs, producing an entire range of possible solutions with the same initial conditions.

Several advantages of the GA make them superior to other optimization methods:

  1. 1.

    GA uses only the function values in the search process to make progress toward a solution without regard to how the functions are evaluated. Continuity or differentiability of the problem functions is neither required nor used in calculations of the algorithms [28].

  2. 2.

    The operations are simple even in a non-linear system.

  3. 3.

    The significant advantage of GAs is their ability to hop randomly from one point in search space to another, making them immune to local optimal.

The GA used in the research faced and solved some of the following issues:

  1. 1.

    Repetitive calculation of fitness values may generate some computational challenges.

  2. 2.

    The use of genetic algorithms requires many generations to produce good results.

  3. 3.

    The parameters, such as crossover and mutation, play a primary role in the success of finding the best solution, so if these parameters do not suit the GA, the solutions could fall into a local optimum.

These features make them applicable to most optimization problems [27, 28]. GA is based on Darwin’s natural selection theory, mimicking genetic operations. In this study, the simple GA defines the string or design vector as follows:

$$\left({x}_{{s}_{i,0}},{y}_{{s}_{i,0}},{z}_{{s}_{i,0}},{\theta }_{{s}_{i,0}}{x}_{{fd}_{i,0}},{y}_{{fd}_{i,0}},{z}_{{fd}_{i,0}},{\theta }_{{fd}_{i,0}},{x}_{{rd}_{i,0}},{y}_{{rd}_{i,0}},{z}_{{rd}_{i,0}},{\theta }_{{rd}_{i,0}},k,c\right).$$

It includes the spring stiffness, damping coefficients, spring, front-rear/angle-mounted dampers, and the location of the connections of the springs and the cylinder dampers to the tub. The front angle-mounted of the spring \({\theta }_{{s}_{i,0}}\), and the front-rear angle-mounted of the dampers\({\theta }_{{fd}_{i,0}}\), \({\theta }_{{rd}_{i,0}}\) are defined as a function of their attachment points at the tub and the ground side in the x–y plane. The suspension system is symmetrical in plane x–y, as shown in Fig. 7.

Fig. 7
figure 7

Mechanical elements of the suspension a Spring, and shock absorber; b Design vector variables

This basic GA starts with a randomly generated set of valid solutions or designs commonly named initial population. Because large population means poor GA, high computer performance, and time consumption, small-size populations are considered in this study, since small populations can change more rapidly and thus show better GA performance. Ten strings of roughly speaking ten chromosomes for every populations are considered. After selecting the initial population, every chromosome is evaluated according to the fitness function.

Function Fitness

The fitness function evaluates the performance of each chromosome. This research evaluates the volume data generated by the displacement (\(\mathbf{q}\)), the velocity (\(\dot{\mathbf{q}}\)), and the acceleration (\(\ddot{\mathbf{q}}\)) of the washing machine gravity center. The smaller the volumes, the better the chromosomes generated Fig. 7b. To simplify calculations, the volumes correspond to the bounding boxes that contain the point data produced by \({\mathbf{q}}_{t},{\dot{\mathbf{q}}}_{t},{\ddot{\mathbf{q}}}_{t}\) for each chromosome. Additionally, some parameters, such as timing (where maximum spin speed is reached), transient state displacement of center mass, and maximum spin speed are included in the fitness function.

$$fit={w}_{1}\left({\Delta }_{x}+{\Delta }_{\dot{x}}+{\Delta }_{\ddot{x}}+{\Delta }_{y}+{\Delta }_{\dot{y}}+{\Delta }_{\ddot{y}}+{\Delta }_{z}+{\Delta }_{\dot{z}}+{\Delta }_{\ddot{z}}\right)+{w}_{2}{t}_{min}+{w}_{3}\left({c}_{x}+{c}_{y}+{c}_{z}\right)+{w}_{4}{\dot{\theta }}_{max}$$
(78)

where

\({\Delta }_{x},{\Delta }_{y},{\Delta }_{z}\) Differences between maximum and minimum GC displacements along \(x , y , z\) respectively at \(CS_{1} \left( {X^{\prime } Y^{\prime } Z^{\prime } } \right)\) in steady state.

\({\Delta }_{\dot{x}},{\Delta }_{\dot{y}},{\Delta }_{\dot{z}}\) Differences between maximum and minimum GC velocity along \(x , y , z\) respectively at \(CS_{1} \left( {X^{\prime } Y^{\prime } Z^{\prime } } \right)\) in steady state.

\({\Delta }_{\ddot{x}},{\Delta }_{\ddot{y}},{\Delta }_{\ddot{z}}\) Differences between maximum and minimum GC acceleration along \(x , y , z\) respectively at \(CS_{1} \left( {X^{\prime } Y^{\prime } Z^{\prime } } \right)\) in steady state.

\({c}_{x},{c}_{y},{c}_{z}\) Largest/maximum displacements of GC during transient state.

\({t}_{min}\) Minimum time to target maximum constant spin velocity.

\({\dot{\theta }}_{max}\) Maximum spin velocity in steady state.

Weightings are set as follows:

\({w}_{1}=5\mathrm{\%}\) \({w}_{2}=25\mathrm{\%}\) \({w}_{3}=15\mathrm{\%}\) \({w}_{4}=15\mathrm{\%}\).

All kinematics variables have the same weighting thereof the importance of optimizing them at the same time. Large movements of gravity center are weighted to 15% because large excursions are undesirable. Maximum angular velocity is weighted to 15% producing the maximum spin speed.

The time at which the maximum spin speed is an essential objective of this research, which is the reason why this variable is weighted to 25%; also reduce the flow over to transient state phenomena as quickly as possible to avoid large excursions and to guarantee less energy consumption by the motor.

Once the initial population is evaluated, the reproduction selects the fittest individuals, letting them pass their genes to the next generation. A roulette wheel approach is used in the selection process for this simple GA. A couple of chromosomes are selected to go for the crossover operation.

A significant phase in a GA is carried out using the crossover to introduce variation into a population. Crossover is the process of combining or mixing two different designs (chromosomes) into the population. Some studies suggest that good GA performance requires a high crossover probability [29]. In this study, the crossover is defined at 80% to get the advantage of it [30].

The mutation is the next operation on the members of the new design set. The idea of mutation safeguards the process from premature loss of valuable genetic material during the reproduction and crossover steps. The mutation probability relies on higher values [0.05–0.1] to combat premature loss of genetic material, while lower values [0.001–0.005] prevent all solutions from falling to a local optimum. In this study, the probability is set to 0.10.

If a member or members of each generation have the lowest fitness value among all the designs, they must be preserved to ensure the best designs are always preserved. Thus, elitism is needed for this purpose. This research uses an elitism of 20% due to high-rate mutation.

Finally, a two-criterion termination is defined to stop the GA in this study. The first criteria are used to find the fitness deviation standard for every ten generations, and if its value is less than P (1%), the GA is terminated; otherwise, the evaluation continues until it reaches 10,000 generations. Also, when the first criteria termination is achieved, the optimal solution is chosen among all generations. However, if the GA continues until the upper bound is found, this individual is the minimum fitness function in all populations and, thus, the best solution. The dynamic characteristics of the washing machine and the initial conditions of the design variables of the GA are shown in Table 1.

Table 1 Dynamic characteristics of the washing machine and initial condition of the design variable of the GA

Figure 8 shows the initial configuration of the suspension system.

Fig. 8
figure 8

Initial configuration of the suspension system

Although the GA could face almost every kind of problem, the analysis in this research dealt with fourteen variables and getting thousands of runs to reach the optimum fitness value. Because of the elaborateness of the fitness function with the four objectives, it took too long to get a good solution.

Simulation Results

Genetic Algorithm: Results on the Rotated Coordinate System \(CS_{1} \left( {X^{\prime } Y^{\prime } Z^{\prime } } \right)\)

The objective of this work is to minimize the displacement, velocity, and acceleration of a horizontal washing machine by optimizing its suspension system. To optimize, a GA is implemented. The fitness function is a function of displacement, velocity, and acceleration. Table 2 presents the genetic algorithm’s initial setup:

Table 2 Initial parameters of the GA

Figure 9 shows the fitness function versus the number of generations. The first value at the top left side represents the baseline or initial design vector’s fitness function value. Every step shows the minimum fitness function value for each generation. The fitness function value remains constant between the 5143rd generation and last generation 10000th, meaning the algorithm reached a stable performance. Every generation in this graph represents a change in the optimization process; the smaller the value of fitness functions, the better the optimization process.

Fig. 9
figure 9

Fitness function values vs Generation \(i{\text{th}}\)

Therefore, all graphs were built considering these generations because they guarantee the best results.

The first term of the fitness function represents the steady-state behavior of all kinematic responses. This state represents a continuous and periodic quantity of displacement, velocity, and acceleration of the washing machine gravity center, while the transient-state shows some initial perturbance and variations over time, as shown for the baseline design in Fig. 10. The plots contain two y-axes; the main y-axis refers to the displacement of the gravity center and the secondary y-axis refers the spin velocity. The unsteady-state ends when the spin velocity reaches a velocity where the displacements are stable.

Fig. 10
figure 10

Representation of steady and transient state of the gravity center in x-axis

The bounding box plots of displacement, velocity, and acceleration of the washing machine gravity center were built considering the steady-state data for different generations, as shown in Fig. 11. These bounding boxes enclose the kinematic response data into the feature space where the largest vectors point out to parallel directions for a new coordinate system \(CS_{1} \left( {X^{\prime } Y^{\prime } Z^{\prime } } \right)\).

Fig. 11
figure 11

The bounding boxes of the GC describing the motions in steady-state a displacement; b velocity; c acceleration

The GA and the bounding box results show the minimization process of the volume through the generations Fig. 11 specifically for each step represented by the convergency graph Fig. 9. The volume generated by the displacements for the last generation (magenta color) looks smaller than the baseline (red color). When a visual inspection is done, it is evident by the color scheme that the volume for the velocity and acceleration of the last generation are reduced because of the GA optimization. The lower the volume, the better the washing machine’s kinematic performance is achieved.

The vibration displacement volume ratio (VDVR) is defined between baseline and generation \(i-{\text{th}}\) to measure the improvement during the optimization process, as follows:

$$VDVR=\frac{{Vol}_{Disp}^{Baseline}}{{Vol}_{Disp}^{Gen,i-th}}$$
(79)

where \({Vol}_{Disp}={c}_{x}{c}_{y}{c}_{z}\) represents the volume generated by the movements of the gravity center.

Similarly, the vibration velocity and the vibration acceleration volume ratio (VVVR and VAVR) are defined:

$$VVVR=\frac{{Vol}_{Vel}^{Baseline}}{{Vol}_{Vel}^{Gen,i-th}}$$
(80)
$$VAVR=\frac{{Vol}_{Acc}^{Baseline}}{{Vol}_{Acc}^{Gen,i-th}}$$
(81)

Table 3 describes the improvement in percentage, considering as a reference the baseline volume of each kinematic response and every GA generation. The last generation reached a 90% improvement, meaning its displacement volume is 90% smaller than the baseline volume. Now evaluated, the vibration velocity volume ratio (VVVR) for the last generation is 0.62; this represents 38% of volume contraction regarding the baseline. The last graph in this analysis represents the vibration acceleration volume ratio VAVR, which shows a high peak by the 29th generation of 1.48 [\({{\text{m}}}^{3}{{\text{s}}}^{-6}/{{{\text{m}}}^{3}{\text{s}}}^{-6}\)]; in other words, 48% more volume than the baseline, but the last generation has a 56% volume reduction. It is essential to say that GA optimization does not guarantee a global optimization result, but can converge to a sub-optimal solution.

Table 3 Genetic algorithm improvement percentage by considering the volume reduction

The fitness function has another argument that must be evaluated to know the GA capabilities. The argument quantitatively measures the movement of the center of gravity of the washing machine in a transient state. The following method is used to evaluate this characteristic by measuring the distance of a point from origin:

$$d(0,P)=\sqrt{({x}^{2}+{y}^{2}+{z}^{2})}$$
(82)

Then, every distance is computed for each generation, and they are normalized by taking as a reference the baseline as illustrated in Fig. 12.

Fig. 12
figure 12

Normalized distance of a gravity center from the origin

In the normalized distance graph, values below 1 means that the \(i-{\text{th}}\) generation is better than the baseline. The last generation shows there is 52% less movement regarding the baseline.

Finally, the period required to reach the final spin speed is vital from an energetic consumption perspective. As observed through the optimization process, time varies for every generation. The graph below (Fig. 13.) shows the final time through every generation. Considering the initial suspension system design for a domestic washing machine, the time to reach the basket’s angular velocity was shortened by 10% from the original time. The less time needed, the less energy consumption.

Fig. 13
figure 13

Minimum time needs to target constant spin velocity by Generation

Genetic Algorithm—Results on the Non-Rotated Coordinate System \(C{S}_{0}(XYZ)\)

It is crucial to determine the translational and rotational displacements of the washing machine in both the transient and steady states in the original coordinate system \({{\text{CS}}}_{0}\) and focus on the actual performance. Knowledge of these displacements is used to define the workspace volume and its geometric constraints. Bode diagrams are used to derive the improvement GA on the kinematics responses of the gravity center to compare the actual performance between the last generation and the baseline. The peak-to-peak magnitude and the relationship with the rotational velocity are shown in the Bode diagrams, Fig. 14.

Fig. 14
figure 14

Bode plots comparison between Baseline vs last generation. a x-displacement pk-pk [m]; b y-displacement pk-pk [m] c z-displacement pk-pk [m]; d x-angular displacement pk-pk [\({\text{rad}}\)]; e y-angular displacement pk-pk [\({\text{rad}}{\mathrm{}}\)]; f z-angular displacement pk-pk [\({\text{rad}}{\mathrm{}}\)]

The diagrams at the top of Fig. 14 show the transient and steady-state displacement for translational and angular displacement of the center of gravity. A large displacement occurs typically during the transient state (low rpm), meaning the system crosses a natural frequency. Once the system crosses this frequency, the system tries to reach the stable region where the displacements are minimal.

The lower the displacement, the better the optimization of the workspace volume. In Fig. 14a., the displacement along the X-axis indicates the baseline has lower amplitudes between 100 and 200 rpm compared to the last generation; however, the last generation has the smallest amplitude above 400 rpm. Displacements along the Y-axis (Fig. 14b) show that the last generation has the same behavior as the baseline. Regarding displacement along the Z-axis presented in Fig. 14c, the last generation shows smaller amplitudes in the transition state. However, in the steady state, the displacements are similar to the baseline.

When describing the angular displacement in Fig. 14d–f, two phenomena concretize the rocking and the wobbling motions that occur during the acceleration or transient process. The rocking and wobbling motions are represented by high amplitudes in Figs. 14d and e, respectively. The rocking movements around the X-axis are smaller, especially in the last generation, but the rocking around the Y-axis is evident at 110 rpm and 160 rpm; nonetheless, these angular displacements in steady state are smaller than baseline. The wobbles about the Z-axis occur at 110 rpm and 160 rpm for the last generation, while the baseline occurs only at 150 rpm and is depicted in Fig. 14f.

As defined, the volume ratio develops as a new concept that describes an entire workspace volume; essentially, the volume comprises all the gravity center displacements, including all axis directions.

$${\text{WVR}}=\frac{{Wvol}_{{\text{Disp}}}^{{\text{Baseline}}}}{{Wvol}_{{\text{Disp}}}^{{\text{Gen}},ith}}$$
(83)

Besides the workspace volume, one more crucial factor that shows the GA enhancement is the vibration level of the gravity center. The RMS—root mean square—value is generally the most helpful tool in this analysis because it is directly related to the vibration profile’s energy content and, thus, the vibration’s destructive capability. Overall, the RMS vibration values and the workspace volume are shown in Table 4.

Table 4 Workspace volume and RMS values for data in the original coordinate system

The workspace volume of the last generation is 56% smaller than the baseline; therefore, the gravity center excursion and its displacements have been limited. In addition, vibrations in all three directions are lower than in the baseline, improving the percentage results from 7 to 30%.

Genetic Algorithm and the Effect on the Design Variables

We now examine the effects of the GA on the design vector variables; Fig. 15 gives the positions of every variable on the x–y and y–z planes. The front and rear damper positions are differentiated in the line chart below, using a solid line for the first variable and a dashed line for the second variable.

Fig. 15
figure 15

Spring, front, and rear damper position through the GA evolution

A breakdown analysis is done of every variable, considering the generation represented by the minimum fitness function value from the plot in Fig. 9.

Spring, Front, and Rear Damper Angle-Mounted (\({\theta }_{{s}_{i,0}},{\theta }_{{fd}_{i,0}},{\theta }_{{fd}_{i,0}}\))

Two positions in the x and the y-axes define the angle-mounted spring, front, and rear damper. As observed in the graph below, the spring angle has a trend to increase as the generations rise. A greater spring angle mounted allows for a closer match between the center of stiffness and the gravity center [20]. In contrast, the front damper angle direction showed tends to lower angle amplitudes; the rear damper angle shows large variations in the first generations. However, after generation 509th, the trend is to reach lower angles amplitudes. The GA is inconclusive about the rear angle amplitude, as is shown in Fig. 16.

Fig. 16
figure 16

Spring, front and rear damper angle mounted as the GA evolves

Spring, Front and Rear Damper Positions \(({x}_{{s}_{i,0}},{y}_{{s}_{i,0}},{z}_{{s}_{i,0}},{x}_{{fd}_{i,0}},{y}_{{fd}_{i,0}},{z}_{{fd}_{i,0}},{x}_{{rd}_{i,0}},{y}_{{rd}_{i,0}},{z}_{{rd}_{i,0}})\)

Among the three spring positions, x, y, and z, the z-position shows minimal changes across the optimization process, which means that GA found this one as the optimal position mainly because the center of stiffness of the system of elastic supports coincides with the center of gravity of the system [20]. At the same time, the x and y positions expose fluctuations but with a tendency to approach the GC (Figs. 15 and 17a). Through the optimization process, there are oscillations between the stiffness center and the gravity center (blue lines); however, the last generation (magenta lines) shows that the stiffness coincides with the gravity center, as shown in Fig. 18.

Fig. 17
figure 17

Position of the suspension components as the GA evolves. a Spring positions; b Front damper positions; c Rear damper positions

Fig. 18
figure 18

Spring center stiffness through the GA evolution

Figure 17b displays that all three front damper positions stabilize as the GA evolves, the x–y positions move away from the GC and redefine the front angle-mounted to lower magnitudes, and the z-position moves toward the end of the tub (Fig. 15).

As for the rear damper positions, the z-position is the most affected variable. In addition, the x–y positions exhibit slight variations reflected in the magnitude of the rear damper angle of attack; these effects can be seen in Fig. 17c.

The x-position of the spring and the z-position of the rear damper have changed the most over the last generations; the GA has aligned the horizontal spring position to be close to the washing machine GC.

Spring Stiffness and Damping Coefficient \((k,c)\)

The GA is not clear about the spring stiffness because of the fluctuation (Fig. 19a); as the damping coefficient is herein, the damping showed stabilization from the 4th generation and had low variation among them. Clearly, the GA points out the importance of dampening the forces to reduce vibration [11]. This low variation indicates that the GA found and optimized the damping value, as shown in Fig. 19b.

Fig. 19
figure 19

a Spring stiffness through the GA Generations; b damping coefficient thought the GA generations

Conclusion

This work investigates an optimization process of a horizontal washing machine suspension of 7 DOF. A genetic algorithm was formulated to achieve this optimization, and the bounding box concept was applied to minimize the basket-but assembly gravity center displacement, velocities, and accelerations in the steady and transient state. Using the covariance matrix to align the washing machine gravity center’s displacement, velocity, and acceleration vectors to the new coordinate system \(CS_{1} \left( {X^{\prime } Y^{\prime } Z^{\prime } } \right)\) assisted in finding the minimum enclosed volume. Once the minimum volume was found, it was necessary to return to the original coordinate system \({{\text{CS}}}_{0}(XYZ)\) to see the effect of the GA. Bode plots were used to compare the performance of GA between the last generation and the baseline. Displacements along the X, Y, and Z axes defined the workspace volume. The lower the volume, the better the displacement performance. The Root Mean Square technique was applied to determine the vibration levels. The optimization process helped improve the gravity center movements and the time needed to reach the final spin speed and had a 10%-time reduction with the last generation; in terms of energy consumption, this means a noticeable energy saving. A breakdown analysis was performed to show how the GA affected the design variables. The results showed the design variables stabilize when the last generations are reached. These design variables are related to the spring and the angle of the front damper. A particular case was observed for the x-position of the spring and the z-position of the rear damper; both variables moved as close as possible to the static position of the center of gravity; by contrast, the front damper z-position went to the end of the tub. Regarding the damping coefficient, the method determined the optimal value, but the spring stiffness was inconclusive. Finally, this research defines a new insight to optimize system variables (for instance, a washing machine suspension) from the state of motion (position, velocity, and acceleration) using a data cloud that accounts for the transient and steady states.