Automatic Manufacturing Cell in Cyber-physical System

Such manufacturing cells, that need to be able to produce high quantity and variety workpieces, the automatic workpiece handling is indispensable to stay in competition. A real manufacturing cell’s simulation in a cyber-physical system can help the decisions-making in the production, as we receive real data with the simulation of the scenarios. Our manufacturing cell consists of a 6-axis robot, 2 CNC milling machines and 4 conveyors. We tested 10 different scenarios, during which we analyzed the usage of the robot and the milling machines. By upgrading the tools, used for milling, we could reduce the cycle time of the workpieces. Furthermore, one more milling machine could be integrated into the cell due to the low usage of the robot or the speed of the robot could be lowered. Besides, filling the pallets with the same workpieces was the most effective way, however, with mixed workpieces we reached better results when we used optimization for cycle time. In these cases, reducing the order quantity to a daily amount did not cause any capacity reduction.


Introduction
The industrial robots are important parts of the manufacturing systems therefore they use them in a wide variety of application due to advantages, offered by them. For example, the applications they use them in are welding, material handling, assembly and painting. The benefits of industrial robots are the high reliability, precision and repeatability. Essentially, after the robot's program is written correctly, the certain operations can be achieved rapidly and precisely [1].
However, programming these industrial robots are still hard and time-consuming tasks. For instance: programming manually a robotic arc welding system for the manufacture of a large vehicle hull takes several months [2].
Nowadays, programming industrial robots can be categorized into two main methods: online programming and Offline Programming (OLP). Generally, for online programming, the teach pendant is used to manually move the robot to the desired position and orientation and the relevant movements and points are saved by the robot controller. After recording these relevant robot configurations, the next step is writing the robot's program, which can refer to the previously saved points and movements. However, the online programming method is only suitable for programming easier, uncomplicated tasks. The OLP method, which is based on the complete 3D modelling of the robot's environment (e.g. with the help of a 3D scanner), is used in manufacturing systems that produce high quantity workpieces. One of the advantages of this method is that there is no need for the robot's physical presence. Furthermore, the collision-detection can be done safely thanks to the 3D modelling of the robot's environment [2][3][4].
The Cyber-Physical Systems (CPS) are systems of collaborating computational entities which can be physical, computing, and communication elements. They are in intensive connection with the surrounding physical world and its on-going processes. These elements are connected via a communication network over which the system can be overseen. In our case, the software, controlling the robot, will be the cyber physical system itself, where the sensors will be present as memory bits. Thus, the manufacturing cell, created in the software, will be a Cyber-Physical Production System (CPPS), which consists of autonomous and cooperative elements that are getting into connection in certain scenarios [5][6][7].
Our goal is to create such automatic manufacturing cell that offers as much information for the user as possible and the change of the workpiece types can be achieved flexibly. Moreover, identifying the bottleneck is a further benefit and helps the future improvements.

Material and methods
For the robot's offline programming and for the creation of the virtual manufacturing cell we use the EPSON RC+ graphical software. Programs, created in the software, use a BASIC-like programming language ( SPEL + ), which is used for programming Epson robots. The SPEL + programming language mostly consists of commands responsible for the control and check of the robot and the creation of the connection between the robot and its environment [8].
We created the virtual manufacturing cell by using the software's simulator. In the manufacturing cell the material handling is done by an Epson C8XL series 6-axis robot, which serves two CNC milling machines (Fig. 1). The workpieces arrive on the outer conveyors. After finishing the milling process, workpieces are placed into the pallets, placed on the inner conveyors. The 3D models that we imported into the simulator cannot be moved. Furthermore, there is a built-in collision-detection system in the software, which we can test the movements with, whether there is collision or not.
In the robot programs we created memory bits which will replace real sensors. Each memory bit can be treated as both an input and output bits [8]. By changing the value of these variables and bits in the proper situations with commands in the robot program (e.g. "MemOn"), the robot will receive automatic feedbacks [8]. One of these feedbacks is for example, whether there is a workpiece in the CNC milling machine or there is not. In this case, the program considers several variables: if there is a workpiece in the milling machine, the milling is still in process or the milling process has ended. Thus, the robot receives permission from these variables to replace the finished workpiece to a new one.
The goal of these tests is to measure the robot's abilities and to be able to create an optimal operation for the cell. In order to achieve the optimal operation, we need to be able to try the cell's operation with different technological parameters. To create these different technological parameters, we designed three distinct pallet type (1, 2 and 4 block pallet) and three workpieces ( Fig. 2) with the help of the Autodesk Inventor Professional 2020 software. We will measure these workpieces' milling cycle time with different tool combinations and will use them to analyze the operation of the manufacturing cell. During the tests, we designed the pallets to be able to hold 100 workpieces, regardless of the workpiece type. When we worked with mixed workpieces, we filled one of the pallets with A and B models, the other pallet contains B and C workpieces.
To measure the milling cycle time of the models, we created the milling programs for every workpiece using SinuTrain 4.7. Once the programs were ready, we used an Akira-Seiki Performa V2.5 XP CNC milling machine to measure the cycle times. We tested three different cases: one with low-, one with medium-and one with high-priced tool combination. Within these three cases, we created 10 distinct scenarios which we will test on the manufacturing cell ( Table 1).
The CNC milling machines' waiting time for the robot (not including the workpiece replacement) also plays a big role in the decision-making regarding the production as these waiting times increase the whole scenario's time. We calculated the waiting time for the robot according to Eq. (1): where I r is the waiting time for the robot, I mc is the manufacturing cell's operating time and I ct is the cycle time of all the workpieces, including workpiece replacements.

Graphical user interface and operating principles
We were constantly trying to create a user friendly and easy-to-use Graphical User Interface (GUI) when writing the robot programs, which can handle the different variations easily. The graphical user interface, which appears during the automatic operation, was created in the GUI builder of EPSON RC+. The main menu (Fig. 3) is the only interface which we can reach without a password. We limited the access to the other interfaces because of the multiple settings we created. Therefore, these settings would be available only for engineers and maintenance man.
We can choose between two priorities: cycle time or quantity. The priority of cycle time means that the program ranks the workpieces' cycle time into descending order and assigns indexes to the workpieces. The program will make decisions according to these indexes in the program responsible for automatic cycle. The algorithm will match the workpieces with the lowest index and the workpiece with the highest indexes. If one of them runs out, the program continues the matching. This cycle continues until the ordered quantity is finished. This setting makes sense only if we fill the manufacturing cell at least with two workpiece types up.
Using priority for the quantity means that the program ranks the ordered quantity into descending order and assigns indexes to the workpieces here, too. According to the indexes, the robot will start with the workpiece which has the biggest demand regarding the order quantity.
After deciding on the priority, we must set the details of the pallet. Besides the type of the pallets, we must set the types of the workpieces (Fig. 4) too.
To further improve the productivity, we created a program which we can analyze the bottleneck of the manufacturing cell with. Additionally, we can see the usage of the robot and the CNC milling machines. Here, the goal is to create a balanced cell. In other word, we must minimize the waiting times as much as possible. Naturally, the cycle times can be changed only in a certain range, therefore some waiting will always occur.

Results
In order to handle flexibly the changes of the workpiece types, we created the "ROBOT POINTS" program ( Fig. 5). Our goal with this program was to achieve the handling of the robot points during the cell's automatic operation. Therefore, we created several functions which we can change the robot points with, if needed (due to the different workpieces or pallets). The points, used by the robots, can be found in the point table (Fig. 5). Here, the user can load the desired point in and can change its position. The movement of the robot can be controlled with the buttons (short, medium or long stepping mode) or we can simply change its coordinates. Throughout the tests, the easy usage is proven based on our experiences.
The cycle times of the workpieces with the different tool combinations are shown in Table 2. We filled the manufacturing cell with these cycle times up then we did the simulations according to the scenarios (detailed in Section 4). Table 3 shows the results of the scenarios. These results are from the program which monitors the usage of the manufacturing cell.

Discussion
During the simulation we tested 10 different cases. The milling machines were the bottlenecks in every scenario.
In the 1 st , 2 nd and 3 rd cases, we filled up the cell with only one workpiece type. As the cell works only with one workpiece type, the longer the cycle time is, the more the robot stands idly. The solution to this problem can be a better tool combination which we can reduce the milling cycle time of the workpiece with. The low-, medium-and highpriced tool combination resulted in 34.9 hours, 29.6 hours and 24.4 hours. This means that with a medium-priced tool combination the manufacturing cell is 15 % faster, and with a high-priced tool combination the cell is more productive by 30 %. The faster milling cycles mean that there are more workpiece replacements during less time, therefore the usage of the milling machines decreased but it was not more than 1 %.
In these scenarios the usage of the robot was 4 %, 5 % and 6 %. We separately tested the shortest cycle time (C model with high-priced tool combination) but the usage of the robot was not critical in this case eitherit resulted in 9 %. Based on these values, the implantation of another CNC milling machine reasonable, thus increasing the cell's production capacity.
The development of the manufacturing cell requires big investment, so it is not possible to carry out immediately. It was also important to determine the impact of the robot's speed reduction on the production capacity. By lowering the robot's speed, we can spare the robot. Therefore, we can reduce the running expenses. In the 2 nd scenario, we could lower the robot's speed to 35 %. At this point, the scenario's time increased with 15 minutes (0.8 %) and  We did further test on the 1 st scenario based on the same principles where the robot worked the least. The cycle time of the workpiece is more than 5 minutes, therefore there is no need to operate the robot on 100 % speed. We reduced the speed to 25 %. The slow-down of the robot reduced the milling machines usage in this case too (Fig. 6). The scenario's time increased by 18 minutes due to the deceleration which meant 0.9 % decrease regarding the cell's performance. By analyzing these two cases, it is apparent that we can greatly reduce the speed of the robot which leads to less than 1 % decrease in the cell's capacity. This capacity loss stands in contrast to the robot's fewer running expenses which is worth to consider in some cases.
When we used mixed workpiece types to complete the order (4 th , 5 th and 6 th scenarios), we changed the tool combination like in the 1 st , 2 nd and 3 rd scenarios. With the worst tool combination, the completion of the order quantity took 49.4 hours. By improving the tool combination, we reached 42.3 hours (medium) and 36.2 hours (high) production time with the same workpiece quantity. Thus, with a better tool combination, the production time can be decreased by 14 % and 27 %. In these scenarios, the usage of the CNC milling machines is not the same. It is because the milling machines work with different workpiece types ( Fig. 2 and Table 2). therefore, the usage commensurately changes with the workpiece replacement. Furthermore, the CNC milling machine, that works with shortest cycle time workpiece, will statistically wait more for the robot.
If we set the priority to quantity, the program will not consider the cycle times so it will prioritize the order quantity. The 7 th scenario represents this case. The only difference between the 5 th and 7 th scenarios was the changed priority which caused 1.1 % production reduction (the production took 30 minutes more to complete). In this case, the most demanded workpiece's production will be prioritized in order to ship it earlier. On the other hand, it caused unfavorable workpiece matchings which increased the milling machine's waiting time for the robot.
Based on the 1 st , 2 nd and 3 rd scenarios, we created a scenario in which we used the 5 th scenario's order quantity. However, in this case, we worked with only one workpiece type at once. The waiting time of the CNC machines for the robot decreased drastically and the production was completed 54 minutes earlier. This scenario shows the ideal case when both milling machines are available for a certain workpiece type. If the pallets contain mixed blank workpiece types then we can work with the previously presented priorities, however, it will reduce the manufacturing cell's capacity.  In the 9 th scenario, we commensurately changed the order quantity of the 5 th scenario until it matched a 1-day quantity. Using daily production quantity, the completion of the 5 th scenario's order quantity took 69 seconds longer. If the contract demands daily shipping, breaking down the order quantity into daily quantities will not mean considerable time loss. If we change the priority to order quantity using daily quantities -10 th scenario -(in other word, we need to ship the most demanded workpiece within one day), the production will take 1.1 % more time which we explained in the previous scenarios why it happens.

Conclusion
The robot controller (virtual) is responsible for our automatic manufacturing cell's control and organizes the production by the robot programs, the different settings and the technological parameters. Thanks to the different settings, there are several possible scenarios, of which we tested 10 specific cases. We were constantly trying to create simple and easy-to-use programs, in order to speed up the tests of the scenarios.
We tested the manufacturing cell with different settings and analyzed the usage of the robot and the CNC milling machines. The price of the tools, used for the milling process, fundamentally effects the cycle times which we measured with the help of the Akira-Seiki Performa V2.5 XP CNC milling machine. Thus, the cell's performance increases drastically (14-30 %) with the better tools but the robot will not be the bottleneck as its usage does not exceed 6 %. In the case of the production of mixed workpiece types (4 th , 5 th and 6 th scenarios) we also greatly decreased the scenario's time (49.4 hours, 42.3 hours, 36.2 hours).
The running expenses of the robot can decrease with the reduction of the robot's speed. Even though the performance of the manufacturing cell decreases (0.8-0.9 %) because of the slower workpiece replacement, the running expenses are going to be less too, as we mentioned before. So, if the order demand is not urgent, we can utilize this option.
Moreover, we pointed out the importance of the priority because there is a 1.1 % difference between prioritizing the cycle time and quantity which does not mean cost reduction. Thus, if there is no need for the earlier completion of that workpiece, which has the biggest demand regarding the order, then the priority should be the cycle time. Besides, the best way to reduce the waiting time caused by the robot, is to duplicate the milling machines, however, it means further increase in the costs.
The results prove that the digital duplication of our manufacturing cell helps in the decisions-making in the production. Furthermore, the cyber-physical systems contribute to a more economical operation through conscious decisions (based on data).