*2.1. Flexible Robotic Workcell*

An experimental setup is needed to evaluate the effectiveness of the usage of the adopted devices, such as flexible feeders and vertical packaging machines. A F-FAS prototype was therefore developed at the Industrial Robotics Laboratories of the University of Padua, where a robot carried out a pick and place job. The tested workcell is composed of the following devices, as represented in Figure 2:


**Figure 2.** Prototype workcell used during the tests.

The robot picks parts of four different shapes, as represented in Figure 3, from the flexible feeder; the picking area, represented by the 170 × 220 mm area enclosed within a black boundary in Figure 2, was designed in order to be the largest area where the robot could reach any point. The center of symmetry of the area is therefore placed with X, Y, Z coordinates from the robot base equal to respectively 400 mm, 365 mm, 18 mm.

**Figure 3.** Parts picked by the robot in the experimental workcell.

The parts on the vibratory plane are identified by the shape matching method provided by the Halcon software [15]. The method allows the identification of an object from the image by recognizing the gray-scale level of the reference photo, with the score parameter, which is set equal to 0.7, representing how faithful is the image to the recognized part. The software is also provided of a function that identifies the pickup location on the part which differs for each shape and it is defined in order to avoid to lose grip.

After the image processing was carried out, the system initiates the pick and place job, which consists of the following tasks:


The placing position is defined as *home*, since it corresponds to the first position undertaken by the robot in order to not obstruct the sight of the camera. This position is set at the same height of *viapoint*, defined at 100 mm from the edge of the feeder: this was defined not only to avoid potential collision between the gripper and the feeder, but also to lower the cycle time by optimizing the robot trajectory. The other parameters that characterize the robot movement were defined in the Matlab script as shown in Table 1.


**Table 1.** Value for the motion parameter used in the test.

It should be noted that these parameters could be set in the controller of the robot in an easier way, however in order to increase the flexibility of the system without the code becoming more complex, it was preferable to send them via the TCP-IP connection.

Since the joint 6 was sweeping a wide angle in a short linear movement, thus increasing the cycle time, its rotation at the viapoint was set equal to 60% of the rotation at the picking point. Moreover, since the parts could be reached with two different rotations due to the symmetry of the gripper, the value of the joint 6 at the picking point has been chosen as the nearest to zero; these solutions resulted in a decrease of the cycle time of about 10.6%. The experimental picking time has been

evaluated by means of a 103 test, as shown in Figure 4; each time interval was measured by Matlab since the instant the coordinates are sent to the controller to the one when the controller has notified Matlab that the robot has returned to the *home* position. The medium value results equal to 1.41 s; an analysis of the distribution of the measured data, Figure 5, showed an interval of estimation equal to ±0.12 s (95%).

**Figure 4.** Measured time for each picking during the experimental test.

**Figure 5.** Frequencies histogram for the measured time.

#### *2.2. Hoppers Sequence Model*

The system considered is generally composed of an input belt, a suitable sequence of hoppers and an output belt. In this paper, we just focus on these devices, assuming that the system is fed by a bowl feeder with limited capability that delivers the kits to a packing machine. The maximum throughput of the feeder is set to 199.8 pieces/min, measured from the case study line. The motion of the pieces between a device and the subsequent is assumed to be a free falling motion, and is assumed that the discharging feed rate is infinite, that is, the pieces move together as a bulk from one hopper to its successor. The falling time can be so calculated as:

$$T\_c = \sqrt{\frac{2 \cdot h}{g}} \tag{1}$$

where *h* is the distance between two devices, here set to 200 mm and *g* the gravity acceleration, assumed 9.81 m/s2. We assumed that the pieces are delivered evenly spaced of a distance *d* by the superior belt with speed *vbelt* , so that the time delay between two subsequent pieces falls is:

$$T\_d = \frac{d}{v\_{beltt}}\tag{2}$$

The time between the opening command and the following idle state of a hopper is calculated assuming that the hopper can close after a percentage *p* of the space between the hoppers has been covered by the falling components. The percentage here is set equal to 20%, for a value of *d* = 200 mm, means a distance of 40 mm. Substituting this value into Equation (1), the time between the open command and the successive idle state is evaluated as:

$$T = \cdot T\_a + \sqrt{p} \cdot T\_c \tag{3}$$

In order to find the filling time of the first hopper we use the values calculated with Equations (1) and (2):

$$T\_f = n \cdot T\_d + T\_c \tag{4}$$

where *n* is the number of components per kit delivered by the subline.

The values which could not be evaluated were obtained from the state of the art. Table 2 shows the values for the parameters used in the tests, where *Tw* is the weighing time and *Tmov* is the time required to the inferior belt to shift of one position to another.


**Table 2.** Variable values taken into account for the simulation.

Three configurations reported in Figure 6, were considered to perform the study of the hoppers opening sequence:


The proposed case study inspired the *3* configuration, which is assumed to be the starting point of the study. In this configuration, the weighing hopper is needed to perform the quality inspection, verifying if the correct number of pieces has been delivered by the superior belt, in order to avoid defective kits in output. Such weighing device is equipped with a load cell used to estimate the weight, which provides a raw electrical signal. The main constraint in achieving high accuracy is a superimposed noise, which is eliminated thanks to a filter. However a trade-off between the measurement time and a high precision estimation has to be accepted. Thus the weighing time needed to obtain a stable measurement tends to become the bottleneck of the system, preventing it from reaching high efficiency and saturating the input devices. The *2* configuration addresses the problem eliminating the weighing device and replacing it with a vision system, capable of performing in its place the quality inspection. This solution is depicted in Figure 6b, and since it does not contemplate the use of a weighing device, it is not affected by the aforementioned trade-off, allowing to perform a 100% quality control ignoring the weighing time and to discard single components instead of a full batch recognized as defective by the weighing device at the end of the sequence.

**Figure 6.** Layouts considered.

The throughput increase in the simulation was relevant, but the input feeder could not be saturated. Therefore we developed the *2x2* configuration depicted in Figure 6c, which is capable of saturating the input feeder, thanks to a higher throughput.

In order to find the throughput of the system, the bottleneck of each configuration was analyzed and its takt time described with equations. In the *2* configuration the bottleneck is the first hopper, whose takt time is:

$$T\_d \\ \text{LktTime} = T\_d + (1 + \sqrt{p}) \cdot T\_\mathfrak{c} + n \cdot T\_d \tag{5}$$

In the *3* configuration the bottleneck is the weighing hopper and a superior limit is set by the takt time of the *2* configuration:

$$TaktTime = \max\left\{ \begin{array}{l} T\_a + (1 + \sqrt{p}) \cdot T\_c + n \cdot T\_d\\ T\_d + T\_{\overline{w}} + (1 + \sqrt{p}) \cdot T\_c \end{array} \right. \tag{6}$$

In the *2x2* configuration the bottleneck is the first hopper, which is filled by the belt:

$$TaktTime = n \cdot T\_d + T\_c \tag{7}$$

A superior limit for all the configurations is set by the inferior belt whose minimum takt time is:

$$TaktTime = T\_c + T\_{mov} \tag{8}$$

From these equation is possible to calculate the throughput of the system for each configurations with different parameters with the following equation:

$$Q = \frac{1}{\text{TaktTime}}\tag{9}$$

Figure 7a shows the throughput for different number of parts and for each studied configuration using parameters in Figure 7. As expected, increasing the number of parts for each kit decreases the throughput, since *n* · *Td* increases. It should be noted that the *2x2* configuration results in the maximum throughput compared to the others.

**Figure 7.** Modeled throughput of the configurations.

#### 2.2.1. Sensitivity Analysis

A sensitivity analysis was carried out in order to observe the sensitivity of the presented model to different values for the considered parameters. Since *Ta*, *Tc*, *Td* and *Tw* were obtained from the state of the art, we believe that they represent a source of uncertainty; therefore, we tested the system behavior for different values of the aforementioned parameters. Following Equations (5)–(7), a test was run by changing the values as represented in Table 3, following an One-at-a-time approach.

**Table 3.** Values considered for the parameter of the sensitivity analysis.


The plots in Figure 8 are obtained by evaluating the takt time with the aforementioned model for the different values.

**Figure 8.** *Cont*.

**Figure 8.** Results of the sensitivity analysis for the parameters *Ta*, *Tc*, *Td*, *Tw*.

#### 2.2.2. Simulation

A simulation of the configurations was performed with a finite state machine, which uploads the states of the different devices over time. Since the simulation is affected by transient and/or random effects, considered as random variations on the parameters, it could be used as a reference for the proposed model; moreover, it provides for further data, such as the task scheduling and the availability of the feeders. Each device is linked to its predecessor and its successor with the relationships illustrated in Figure 9, which describes the transition between states. The superior belt is the input device of the system and switches just between two states, *ready* and *filling*, with a logic described in Figure 9a. It interacts only with the first hopper, so its state depends only on the state of this device. The generic hopper switches between many states, *filling, idle, weighing, ready, closing* and *opening*. The non weighing hopper presents the same graph without the state *weighing*. The generic hopper can be related to one other hopper or a belt, referred as *predecessor* if it is in a previous position on the feeding chain or *successor* if it is in a next position on the feeding chain. Its graph is depicted in Figure 9c. The inferior belt, that is, the output device of the system, can switch between the states *filling, moving* and *idle*. The *moving* state is due to the need of simulate the time required from the output belt of the case study line to switch between two subsequent position. The states are described in detail in Table 4. Each transition is due to the change of state of an adjacent device or for the expiration of the time needed for a specific action (e.g., the opening and closing movement of a hopper).

The transition logic just described was implemented into a Matlab script in order to perform time varying simulations of the system. To reflect the effect of the uncertainties on the process in a real environment we introduced some random variation of the parameters of the simulation. A random variation in the interval [−0.1 s, +0.1 s] was added to *Tw* to simulate the dynamic effect of the components falling on the weighing hopper and a Gaussian distribution (*μ* = 100 mm; *σ* = 15 mm ) of the components spacing on the input belt was assumed to simulate some variability in the bowl feeder feeding rate.


**Table 4.** The states implemented for the devices in the simulation.

**Figure 9.** Finite state graphs of the devices.

A further simulation with the same parameters in Figure 7 was performed and the throughput for the three configurations is shown in Figure 10. The relative error between the model prediction and the simulated throughput was calculated and presented in Table 5. The values state a good agreement between the model and the simulation, except for the tendency of overestimate the throughput, which can be seen from the negative mean error.

**Figure 10.** Plot of the throughput found with the simulations.


**Table 5.** Relative error (%) between the model prediction and the simulated throughput.

One output of the simulation is the state of any device in every moment, which could be used to plot the state chart of the devices, like the one reported in Figure 11, plotted for the values *Ta* = 0.15 s, *Tmov* = 0.30 s and *n* = 5.

**Figure 11.** An example of state chart of the devices obtained with the simulation.

The *availability* is the ratio of run time to planned production time. With the data used to plot such state charts was also possible to evaluate the availability for the devices as:

$$A = \frac{RT}{PPT}$$

where *A* is the availability, *RT* is the run time, i.e., the time the device did not spend in ready or idle state, and *PPT* is the planned production time, i.e., the total time the device is used.

In Figure 12 we can see the results of the simulations performed varying the opening and closing time of the hoppers to understand their influence on the system. To the left the data calculated with a *Ta* = 0.15 s, while to the right the data related to *Ta* = 0.32 s. The resulting plot shows that the opening time of the hoppers slightly affects the performance of the system, which decreases with low kit size, due to the increasing frequency of opening/closing operations. The worsening interests mainly the *3* and *2* configurations, but not change substantially the comparison between the configurations, therefore from now on we will refer indistinctly to the plot to the left or to the right column in Figure 12. The plot Figure 12b shows that the *A* of the superior belt for the *2x2* configuration (yellow solid line) is 1 for any kit size considered. It should be noted that only the *2x2* configuration is able to reach this value, which mean the saturation of the superior belt. For a kit size equal to 1 the inferior belt is close to saturation. From the plot in Figure 12d we can see that the kit throughput of the *2x2* configuration rises with the decrease of the kit size. Figure 12f is the product of the kit throughput, that is, the plot in Figure 12d, and the kit size.

The *A* of the superior belt for the *2* configuration, as can be seen in plot Figure 12b, starts from values near to 0.82 and drops for decreasing kit size. From the plot Figure 12d is clear that its performance is worse than the *2x2* configuration but outperforms the *3* configuration for a low kit size (1 and 2). Finally the *A* of the superior belt for the *3* configuration, as can be seen from the plot Figure 12b, is similar to the one of the *2* configuration, but for decreasing kit size it shows a heavier drop. From the plot Figure 12d is clear that for a kit size lower or equal than 2 the throughput of the system is stable, due to the saturation of the weighing feeder. This means a reduction of component throughput, as can be seen from plot Figure 12f. It is to be noticed that all the plots in Figure 12 are of minor importance for small kit sizes, due to the assumption made in the introduction that the feeding of low quantity components is addressed with the development of a flexible robotic workcell.

**Figure 12.** Throughput and availability of the system varying the opening and closing time of the hoppers.

Figure 13 depicts the behavior of the system for different *Tmov*. The left column of plots is defined for *Tmov* = 0.30 s, while the right column is defined for *Tmov* = 0.60 s, the last taken from the case study line. From Figure 13b it is clear that the *2x2* configuration is strongly affected by a slower belt and its *A* drops for a kit size smaller than one. The dashed yellow line shows that for that kit size the inferior belt starts to be saturated and cannot accept higher throughput, causing a decrease in the *A* of the previous devices. It is noticeable that the *3* and the *2* configuration in the two cases are almost not affected by the time required by the inferior belt to perform a shift, as we can see from the comparison between Figure 13c,d.

**Figure 13.** Throughput and availability of the system varying the time required to the inferior belt to shift to one position to another.

It is important to notice that the *2x2* configuration would be capable of feed two inferior belts as depicted in Figure 1, so that the *Tmov* would be approximately half compared to the other two configurations. The comparison between the configurations would make the *2x2* configurations even more valuable.

#### 2.2.3. Vision Inspection System

In the Industrial Robotics Laboratories at the University of Padua a prototype of the vision quality inspection system placed onto the superior belt was developed. The system is composed by a AVT *Pike F032-b* camera, triggered by a Sick *DRS61* incremental encoder. The belt's width is 400 mm, its speed is set equal to 200 mm/s. The pieces are put on the conveyor belt and they run on the backlighted area, while the camera acquires images, as illustrated in Figure 14c.

The matrix Pike camera is used as a quasi-linear camera, acquiring 6 lines at a time. It is synchronized with the belt thanks to the encoder. The acquisition is performed by a C++ algorithm which stores one hundred acquisition into a buffer and then send all the content of the buffer to Matlab, where is performed the image elaboration and then controlled the air blow to discard defective pieces.

The image processing consists in a sum of the pixel intensity value performed by row, obtaining the profile illustrated in Figure 14b. A check on the length of the piece was used to detect defects, but further works could lead to the development of more sophisticated methods, thanks to the clear profile of the objects obtained with this setup.

It is really important to notice that with the introduction of a vision inspection system that is able to discard the wrong or defective pieces, the retooling also becomes easier. In fact, bowl feeders require an amount of pieces higher than the actual production lot to be handled, in order to guarantee a uniform output flow [16]. This leads to high retooling time, due to the need to empty the feeder of the previous lots, before filling it with the new components. The vision inspection system could lead, together with the adoption of a flexible feeder, to a dynamic lot change, removing the need to empty the feeder and letting the vision inspection system discard the previous components.

**Figure 14.** Vision system experiment.

#### **3. Case Study**

To demonstrate the effectiveness of the proposed solutions, these were applied to the considered case study, with a specific focus on the hoppers cascade system model. The actual system, as described in Section 2.2 as system *3* and represented in Figure 15, is composed of three hoppers of which the middle one performs the weighing. The predictions of the proposed model were compared to the current solution, validating the expected results with the real data. Moreover the possible throughput improvements adopting the *2* and *2x2* configurations were evaluated. Table 6 shows the parameters used in the model.

The feeders of the considered assembly kitting line feed the same number of components and *n* will be equal to 2 or 4. The comparison will then involve two values for each considered configurations, reported in Table 7.

The throughput obtained for the *3* configuration from the model, corresponding to the first row of Table 7, can be compared with that measured from the case study, which is equal to 22.05 kit/min and to 32.56 kit/min, respectively for *n* equal to 2 and 4. The resulting error for the 3 configuration is therefore equal to 6.07% and 1.62%. We believe therefore that it is possible to affirm that the model is validated by the case study; moreover it is clear how the *2x2* solution is the most convenient one in terms of throughput, showing an increment in productivity of about 49.6%, which potentially could lead to the removal of two bowl feeders.

**Figure 15.** Case study hoppers cascade system. In this application the system is composed of three hoppers and a weighing device in the middle one.


**Table 6.** Values of the parameters for the case study.

**Table 7.** Throughput obtained from the model for the parameters taken from the case study.


#### **4. Results Discussion**

Since the model has been verified, the impact on the efficiency of the assembly kitting line can be evaluated. The introduction of the flexible feeder device allows to remove two bowl feeders in the case study considered, the ones designated to supply the parts with low quantity for kit. Moreover, the model of the hoppers of the rigid feeders, as stated by the analysis of the case study, allowed to remove two more, therefore the resulting H-FAS is composed by:


In order to evaluate the improvements of the proposed solution, the OEE was chosen as a proper parameter. This is defined as the product of three different values: the *availability*, that takes into account any events that stop the planned production, the *quality*, i.e., the number of parts that does not match the requirements, and the *performance*, i.e., the devices speed.

The first parameter considered, the *availability D*, was evaluated as:

$$D = \frac{T\_{batch}}{n \cdot T\_{setup,i} \cdot T\_{batch}} - 0.05\tag{10}$$

where *Tbatch* (h) is the production time for the single batch, *Tsetup*,*<sup>i</sup>* (min) is the time needed for the setup of each of the *n* feeders, such as *Tsetup*,*<sup>i</sup>* times *n* equals to the total *Tsetup*. We considered *n* equal to 8 in the original case and 4 in the proposed development, since the flexible feeder does not need any setup. Lastly, the 0.05 value is a corrective constant defined in order to consider potential unexpected stops. Figure 16 represents the percentage difference of *D* between the original system and the proposed one in case of different values of *Tbatch* and *Tsetup*.

**Figure 16.** Availability increase (%) by changing the number of re-configurable feeders.

For the quality and performance parameter, a different equation was needed. Defined *Pd* the probability of defects and *Pb* the probability of slow cycles for each feeder considered, we could define the total quality parameter *Q* and the total performance parameter *P* as

$$Q = 1 - P\_D \tag{11}$$

$$P = 1 - P\_B \tag{12}$$

where *PD* and *PB* are evaluated as stated by the law of total probability [17] applied for *n* equal to 8 and 4 feeders:

$$P\_D = P\_d \cdot n + P\_d^n - \left(\sum\_{k=2}^{n-1} (-1)^k \binom{n}{k} \cdot P\_d^k \right) \tag{13}$$

$$P\_B = P\_b \cdot n + P\_b^n - \left(\sum\_{k=2}^{n-1} (-1)^k \binom{n}{k} \cdot P\_b^k \right) \tag{14}$$

The range value used for *Pd* is restrained between 0.05% and 0.5%, while the values of *Pb* are evaluated as 0.7 times *Pd*, based on the data from the case study. Figure 17 represents the difference of the product of *Q* and *P* evaluated for *n* equal to 8 and 4 in the case of different values of *Pd* and *Pb* defined from the examined case study in the considered range.

It is possible to notice a significant increment in the OEE and therefore in the throughput, especially in the *availability* parameter, which could reach an increase of over 40%. This proves the starting hypothesis that the proposed reconfiguration of the feeding system in the case study kitting assembly process could improve the throughput.

**Figure 17.** Quality and performance increase (%) by changing the number of re-configurable feeders.

#### **5. Conclusions**

We presented a solution in order to increase the efficiency of an assembly kitting line based on an H-FAS system. Firstly, we noticed that a low quantity of components could be supplied by a fully flexible feeder, thus reducing further the number of vibratory feeders. An F-FAS subsystem was studied in the laboratory in order to test the performance of the system in a kitting assembly line.

With regards to the high quantity components, the current bowl feeders could be preserved, re-configuring only the hoppers cascade system. Several studies have been proposed in this field of research; however, they are focused on the material characteristics and not on the the system itself; thus, our work suggested an innovative solution based on several reconfigurations of the feeding system. A mathematical model has been developed and its robustness was verified by means of a sensitivity analysis; moreover, we developed a simulation to evaluate the accuracy of the proposed model, since the simulation is a finite state machine which performs by uploading the states of the different devices.

We noticed that, for a certain range of opening time, the throughput is not so much influenced; we believe that rising the speed of the lower belt could present further improvements for the alternative configurations developed from *3*. The requested weighing device can be replaced with the adoption of a vision system, similar to the one suggested in this work. This was tested in the laboratory and showed an initial but effective solution for quality inspection.

Lastly, we evaluated the increased throughput of the system by calculating the percentage increase in the OEE for the original and the proposed configuration. While the increase in quality and performance could be considered not so interesting (at maximum an increase of about 3%), the availability could reach an increase of over 40%.

Future research aims to develop the vision system in order to be more effective by studying different methods for image processing and data processing in order to recognize further defects. Moreover, the hoppers could present other configurations that were not considered in the current study. Finally, in future works the presented model will be tested in further case studies.

**Author Contributions:** Conceptualization, N.C. and G.R.; Formal analysis, M.F. and R.M.; Investigation, N.C.; Methodology, N.C. and R.M.; Project administration, G.B. and G.R.; Resources, G.B., M.F. and G.R.; Software, N.C.; Supervision, G.B., M.F. and G.R.; Writing—Original Draft, N.C., M.F. and R.M.; Writing—Review & Editing, G.B., N.C., M.F., R.M. and G.R.

**Funding:** This research received no external funding.

**Conflicts of Interest:** The authors declare no conflict of interest.
