Keywords

1 Introduction

Due to the rapid development in science and industry, manufacturing systems are designed with a higher degree of autonomy with the help of different technologies. To increase productivity and long term competitiveness, companies rely on robots for automated handling and manufacturing tasks with light force requirements as well as AGVs for peripheral logistic processes. Manufacturing systems with multiple machines and one or more corresponding robots are called robotic cells [1]. As of right now, the robots are mostly used for material handling such as loading/unloading parts. AGVs on the other hand are used to transport raw material, finished parts or tools. To efficiently deploy these resources, comprehensive scheduling algorithms are needed which found an increasing interest and growth over the last years. Scheduling algorithms, in particular for the job-shop problem (JSP) are needed when multiple jobs and several tasks in a job need to be scheduled on multiple machines or resources [2]. Generally it can be stated, with higher degree of autonomy in a production system, it is more important to have a powerful scheduling approach to increase the efficient utilization of cost-intensive machine tools, robots and AGVs, see also [3].

In the past decade, there have been many attempts to schedule multiple machines with matheuristics as seen in [4]. The authors contribution revolved around the scheduling of jobs with set tool requirements. While considering release times, due dates and different tool requirements the goal was to minimize the tardiness of operations and tool setup time. To solve this problem, they provided a new matheuristic that combines genetic algorithm and integer linear programming formulation. Another matheuristic to solve multi-objective jobshop-problems was proposed by [5]. Here, the application of job-shop scheduling (JSS) was centered around a robotic cell. As mentioned before, the purpose of the robot is to handle material between machines or different work stations. Considering that, the authors came up with a Teaching Learning Based Optimization algorithm that aims to minimize makespan and the total earliness and tardiness. The same approach of employing a robot to handle material between multiple machines is shown by [6]. Nonetheless, robots in production cells can not only be used for material handling. As seen in [7], robots can also perform collaborated tasks, especially if there is downtime between material handling jobs. To acquire these so called “robot-collaborated processes” (RCP), the authors lean into Tabu Circulatory Time Point algorithms. While considering different constraints, the algorithm optimizes the order in which the robot can move.

Creating an optimization algorithm requires various data and constraints. These, in the case of the JSP, stem from different levels of automation in a company and various systems in the actual engineering and production IT-environment. In Fig. 1 the vertical and horizontal automation levels are shown.

Fig. 1.
figure 1

Vertical and horizontal automation levels

Within the vertical integration, the data are provided by functional organizations inside a company while the horizontal integration focuses on the value adding chain. In sustainable companies the IT landscape should be embedded in a product-lifecylce-management software. Nonetheless, the reality shows data format breaks are present and various data sources for machine capacity, available tools, customer jobs and tasks from work plans are needed for a scheduling algorithm for highly autonomous manufacturing systems [8]. In this paper, an approach is demonstrated on how to schedule both, jobs and their corresponding tasks. The first part is to schedule the superordinate jobs in regards to tool management. The aim is to reduce changeover time of multiple robotic cells which undergo tool change provided by an AGV. The second part is to schedule subordinate tasks of each job to contemplate for the possibility of robot-collaborated processes.

2 Problem Definition and Scheduling Model

This section provides insight into the current manufacturing setup and how the machinery is established. Additionally, two of the main problems that emerge from these robotic cells will be explained and how they affect the selection of scheduling methods. At last, the chosen scheduling model will be elaborated.

This contribution does not concentrate on robotic cells with one robot and multiple machines but rather on a machine tool park where each machine is equipped with one robot (see Fig. 2). Here, raw material and tools are handled and provided by AGVs for all robotic cells. The first AGV is responsible for providing raw material while also carting off finished parts, if the shelf is full. The purpose of the second AGV is to supply all machines with the corresponding tools needed for the assigned jobs on the machine.

Fig. 2.
figure 2

Manufacturing setup

In this kind of manufacturing system setup there are two main problems:

Problem 1.

The first problem arises from the fact that there are some machines which share the same tools. In this case, the tools, which are provided via AGV, have to be scheduled efficiently to reduce tool changeover and AGV run time.

Problem 2.

The second problem is related to the robot. At first, the sole purpose of the robot was material handling e.g. to load parts in the machine and unload them. After handling the parts, while the machine is working, the robot stands still. To avoid idle time, robot-collaborated tasks will be incorporated into the jobs. Therefore, tasks have to be scheduled between machine and robot to minimize makespan.

As elaborated in Sect. 1, there are many different optimization algorithms and matheuristics. Considering the two main problems, that jobs as well as tasks have to be scheduled while also considering different constraints like tool availability and manufacturing task order, an already existing method stood out. The chosen model to solve the underlying problem is a combination of constraint programming (CP) and Boolean satisfiability (SAT) called CP-SAT. Constraint programming has already been proven to be a suitable solution for the jobshop problem, as seen in [9,10,11,12]. The authors use CP in combination with other techniques, such as mixed integer linear programming, to solve different kinds of JSP. As the name Constraint Programming implies, it integrates the possibility to set constraints to solve combinatorial optimization problems [13].

3 Constraint Programming Algorithms

In this section, the previously mentioned restrictions and constraints extracted from the actual engineering and production environment will be considered and elaborated. These constraints are split into two different parts for job and task scheduling. Next, the CP algorithms will be further explained, especially concerning tool management and task allocation of different resources.

For all robotic cells, in regards to job and task scheduling different assumptions had to be made. The following points address premises for job scheduling respecting tool management.

  1. 1.

    All machines Mi (i = 1, 2,.., M) can manufacture all parts Jn (n = 1, 2,…, N)

  2. 2.

    Every production order can be assigned to any machine

  3. 3.

    Each machine can manufacture only one part at a time

  4. 4.

    All production intervals on one machine can not overlap

  5. 5.

    All parts in a lot/order are identical and are processed consecutively

  6. 6.

    Specific tool sets Ti (i = 1, 2,…, T) are shared between all machines

  7. 7.

    These specific tool sets can only be used in one machine at a time

  8. 8.

    Raw material and finished parts are handled by an AGV

with M being the total amount of machines, N the amount of parts to process and T the number of tool sets available. Considering all eight assumptions the first algorithm was built to schedule all jobs/parts onto all available machines M1...i. The algorithm is given the number of available machines and all production orders with the process duration and tool sets needed. After all jobs have been scheduled, the tasks inside of each job also undergo scheduling to allow for robot-collaborated processes. For this reason, a second algorithm, which is similar to the first one, was established and was equipped with the following assumptions.

  1. 1.

    The first and last task Pi (i = 1, 2,…, P) are loading and unloading the machine

  2. 2.

    The robot Ri (i = 1, 2,…, R) is capable of taking over processes from the machine (RCP)

  3. 3.

    The duration of RCP cannot be longer then the main process of the machine M

  4. 4.

    Technological sequences have to be followed

with P containing all tasks of job Ji and R being the total amount robots. The algorithm considers manufacturing sequences and assigns tasks from the machine to the robot for less idle time. The advantage of the existing CP models is that there are predetermined constraints like “AddNoOverlap” [14] which can be applied to certain problems. Nonetheless, to solve the first problem mentioned in Sect. 2, a tool change penalty was implemented. The algorithm scans for all possible job sequences on all machines, then takes one job with a specific tool set and compares all other jobs to it and checks if the tool set is different. If the compared job has a deviating tool set, the algorithm imposes penalty and writes it into a variable. The objective of the algorithm is now to minimize the makespan as well as minimizing the tool change penalty variable.

For the second problem of task allocation between two resources, a similar approach was taken. When looking at the tasks, it is important to clarify which tasks of the machine can be done by the robot. The algorithm then checks all possible combinations of task assignments for the smallest makespan and puts them into an efficient order.

Figure 3 summarizes all necessary components and their relations, starting from the AGV that supplies raw material to the last task of a job that unloads the finished part from the machine.

4 Application on Production Data

This section displays the scheduling results of the algorithms. As mentioned before, the first task is to schedule jobs based on tool availability and tool change. After the jobs have been scheduled, each job is split into its tasks to again minimize the makespan. This is achieved by robot corporated processes of the robot in each corresponding robotic cell. The results of the algorithms will be shown using real production data.

Fig. 3.
figure 3

Interrelation of the devices in a robotic cell

The data basis for job scheduling are jobs and their corresponding duration and used tool sets. Each tool set is equipped with a number of tools needed for the specific job and NC program. As seen in Fig. 4, there is a total of 12 jobs scheduled on three machines. Before the first job on every machine, an AGV provides raw material to all machines sequentially (red dotted arrows). After a machine is provided with material, it can start the first order and the AGV supplies the next machine. Looking at tool set 4 (red boxes), there is no overlap of usage between all machines, since this tool set is only available once. To further clarify tool sets, tool number 4 was split into three sub tools which are used in succession.

When looking into each of the jobs, they include the manufacturing process of the part and post processing steps, such as deburring and washing. For the latter, the tasks will be scheduled onto the robot. Since there are tasks that can be executed by both the machine and the robot, the algorithm searches for all possible combinations and allocates all tasks to the most fitting resource by minimizing the makespan of the job. As seen in Fig. 4 (bottom part), while the machine is manufacturing (Task 1), the robot takes over the post processing of the previously manufactured part in the lot. The process duration of the robot is in the chosen exemplary use-case always less than the main process of the machine. Hence, the robot will be ready to unload the part to eliminate idle time of the machine. The result of the job and task scheduling provides plan of jobs with the smallest possible makespan and changeover time, while integrating both resources machine and robot as far as possible.

5 Conclusion and Further Research

In this work we provide a scheduling approach for production orders and their subordinate tasks with allocation to different resources. The algorithms are based on a CP-SAT scheduling approach, combining constraint programming and Boolean satisfiability. While considering numerous constraints derived from real production environments, the algorithms are applied to real production data of different sources e.g. the ERP system, work and tool plans as well as factory layout data. The results are production order and task schedules that minimize makespan and reduce tool changeover time. This also improves vertical automation in a company on the ERP and planning level, by shortening capacity planning and shift management, as these are generated automatically. Additionally, the algorithm further enhances horizontal levels in the form of value adding processes in the production environment. Autonomous AGVs relieve workers from monotonous work like filling shelves or moving material which benefit the social dimension of the three pillars of sustainability. The focus on the efficient use of materials and resources enables for ecological and sustainable production. As the last pillar economics, a high degree of autonomy provided by scheduling with multiple resources facilitates the long-term competitiveness of a company. The high flexibility of multiple robotic cells further facilitate the application of a wider product portfolio while reducing resources in the form of material and tool optimization.

Fig. 4.
figure 4

Top - Automated job scheduling on three machines, bottom - task scheduling between machine and robot

Further research includes the consideration of single tools inside of different tools sets. To enhance to scheduling reliability, the actual changeover time of tools between two jobs has to be integrated. It is also thinkable to consider the allocation of single tools from a tool set after it is been used. This could impede long idle times resulting from changing a lot of tools at once. Another important topic would be combining both algorithms into one. This would allow for actual implementation in a production environment.