1 Introduction

The footwear industry is currently dominated by manual production lines, resulting in low levels of automation and high resource consumption. This presents an opportunity to reduce resource consumption by implementing more automated technologies. However, automation in this industry is challenging due to the complexity of the tasks involved and the materials used.

Unlike other industrial sectors, the footwear industry has not followed the same automation path. The article “Automation Issues in Marking and Handling in the Footwear Industry” [1] addresses one of the main barriers to achieving automation in this industry.

However, there are significant advances that are helping to improve innovation and automation in the footwear manufacturing sector, as described in the article referenced as [2]. These systems and technologies are helping to increase efficiency and productivity in footwear manufacturing.

1.1 Automation in the shoe industry

Some technologies, such as knitting [3], where the upper of the shoe is made in one piece, the knitting machine is loaded with polyester, nylon, or spandex fibres; 3DPrinting [4], this technology is also used to print some pieces of the shoe in plastic; direct injection moulding [5] of shoe pieces easily automates this stage.

3DBonding [6] technology allows different pieces of material to be bonded together by injecting a polymer into a series of channels in a mould to produce the shoe. One of the key benefits of this technology is the reduction in material usage, as the pieces do not overlap during the bonding process, both for the fabric and the leather of the footwear. It also eliminates a number of traditional operations, such as sewing, helping to reduce lead times and manufacturing costs.

A highlight of 3D bonding technology is its ability to enable automation and robotics in the manufacturing process. In other words, the main process is reduced to the task of selecting and placing the pieces in a mould, where the shoe is created in a matter of seconds after the polymer injection.

1.2 Multi-robot systems

The increasing use of multi-robot systems in industry is driven by the need to handle flexible pieces and achieve more accurate piece positioning. In this context, dual-arm robots are becoming increasingly important because of their ability to meet these requirements effectively. When using a dual-arm robot, a simple solution is to stop one arm while the other performs a specific path, such as a pick-and-place task [7]. However, the most productive strategy is to move both arms simultaneously, which reduces waiting times and improves system efficiency. This strategy of moving both arms simultaneously increases the complexity of planning due to the possibility of collisions between them.

Several lines of research are developing algorithms to integrate multiple robots into industrial tasks. In [8] a multi-robot task allocation strategy based on particle swarm optimisation and greedy algorithms is presented. This strategy aims to improve the resource utilisation of heterogeneous multi-robots by minimising the multitasking time, effectively maintaining the load balancing of robot resources, and finding a near-optimal solution for collaborative scheduling. In [9], a multi-objective optimization in a multi-robot task assignment environment is presented. The method includes the definition and construction of the robot energy utility function.

In [10] a reference trajectory optimisation method is developed for dual-arm robots in industrial tasks. Both arms work in the same workspace, so each arm has to consider the position of the other arm as an obstacle and change its trajectory if necessary. In [11] an investigation on a solution to make the optimisation in robotic manipulation in the presence of obstacles is presented.

Up to now, pick-and-place robotic systems have been the subject of much research. In [12], the authors study the problem of sequencing operations in machines and apply it to a controlled system in a large electronic card assembly facility through routing heuristics. In [13], a triple objective function with the Chebychev dynamic pick-and-place approach is developed to optimise the sequential pick-and-place machines and minimise robot assembly times, feeder movements, and PCB tables. Furthermore, the problem can be tackled using an iterated hybrid local search algorithm [14], where a relative optimal result can be found quickly.

In [15], the authors develop a model-free iterative learning control (ILC) strategy in non-repetitive trajectories, applied to robotic manipulators. The model is verified in pick-and-place operations. In the same line, the research [16] presents a fuzzy sliding mode variable structure control to maximise speed in pick-and-place operations.

The authors in [17] develop a modular robotic task sequencing and motion coordination for multi-arm systems. The module for solving two-arm RTSPs (Robotic Task Sequencing Problems) presents a novel method developed by considering the generalised problem of multi-arm RTSPs. It uses a clustering-based algorithm to decompose the problem into several subproblems that are solved independently. Other studies focus on assembly-oriented task sequence planning, in [18] a dual-arm task sequence planning based on environmental constraints is presented. This method used the Monte Carlo method, the Gaussian Mixture Model, and the binary functions to develop the task.

1.3 Trajectory optimization

Time optimisation in robot manipulator trajectory planning is a topic that has been widely studied in the literature. Several solutions have been proposed to solve this problem.

In [19], a new mathematical model is proposed to formulate the pick-and-place operation in the food industry. The Hungarian algorithm is used to optimise the total distance travelled by the robot during the operation. The cited works [21, 22] and [23] present a solution to a similar problem by using a greedy algorithm for forward speed planning and calculating smooth trajectories in minimum time. In [24] and [25] an approach based on the Travelling Salesman Problem (TSP) and a Genetic Algorithm (GA) is proposed. These approaches seek to find the best sequence of pieces to optimise the time of the pick-and-place task.

Some work focuses on making the robot learn the optimal trajectory. In [26], a hybrid imitation learning (HIL) framework combining behavioural cloning (BC) and state cloning (SC) methods is used to improve learning efficiency in robot manipulation tasks.

Another approach is the use of genetic algorithms (GA) as described in the work of Goldberg [28] and Holland [29]. In [30] a combined real-time method using simulation and genetic algorithms is proposed to optimise the trajectory of collaborative robots. In [31] they focus on optimising the transport time using optimised trajectories. Furthermore, in [17], an assignment optimisation module is presented that uses a heuristic method to distribute a set of tasks among robotic systems by assigning the most appropriate configuration to each task.

It is true that the problem of evaluating and optimising the performance of pick-and-place tasks in real time has not been widely studied in the literature. However, there are a number of relevant works that have addressed this problem.

In [33], the development of an algorithm to perform a safe control task in real-time image processing is discussed. Although this work does not focus specifically on pick-and-place tasks, it addresses the challenge of performing real-time tasks and could be relevant for optimising performance in this type of task.

In [34], the authors combine the metaheuristic problem with real time, allowing each robot to perform the assigned pick-and-place operations in real time to maximise throughput. Although no specific details of the algorithm or methodology used are given, this research is an example of an approach that considers real-time performance optimisation.

1.4 Dual-arm robots

The complexity of industrial tasks and the need to reduce the time required to perform them has led to the development of robots that are increasingly human-like. This has made it possible to automate industrial tasks without affecting the configuration of these tasks. For this reason, anthropomorphic and bipedal robots have been extensively studied in recent years. In [35] we explore the features that make dual-arm robots complex, such as coordination between the arms, real-time path planning to avoid collisions, and the constraints needed to ensure task success.

This research is carried out on an ABB YuMi robot, which is a dual-arm collaborative robot with 7 degrees of freedom (DOF) on each arm, giving the robot a total of 14 DOF. In [36] and [37] two different approaches to the kinematic solution and control of the robot are presented. Furthermore, [38] presents a specific kinematic analysis of the ABB YuMi, while [39] presents a more complex control approach based on dual quaternions for the YuMi.

The problem addressed in this research focuses on a pick-and-place task for the shoe assembly process, using a dual-arm robot with the aim of transporting pieces and optimising the pick-and-place distance by taking advantage of both arms working simultaneously. In this context, there are pieces that only require the intervention of one arm to perform the pick-and-place operation, while other pieces, due to their size, require the collaboration of both arms. Therefore, this research focuses on the optimisation of the sequence and trajectories in the robotic phase of the shoe manufacturing process, in order to automate and optimise the whole task. It also mentions the 3D binding phase, which is integrated into the process to improve the automation and optimisation of the footwear assembly.

This article is structured in the following way. In the following section, the methodology and materials are given, but first, the necessary procedure and guidelines are presented in Section 2.1. The mathematical model based on BILP is presented in Section 2.2. The viability and robustness of the method suggested is supported by the simulation results in Section 3. In this section, the overall results achieved in Sections 3.1 and 3.2 are presented and argued and in Section 3.3 a comparative is introduced. Finally, some concluding remarks are given in Section 4.

2 Methodology and materials

In the next section, a detailed description of the system to be used in the study is presented, followed by the development of a mathematical model to minimise the distance of the pick-and-place task. The ABB IRB14000 dual-arm collaborative robot, also known as YuMi [41], is used in this research. This robot is specifically designed to work with human operators in industrial environments.

Fig. 1
figure 1

Real prototype system: ABB YuMi robot, camera, shoe mold, and tray

2.1 System description

The use of a dual-arm robot implies the need for precise control to avoid collisions between the arms while working in the same workspace. To achieve this, it is essential that the trajectories of the two arms are synchronised and that their movement is controlled in real time to avoid any possible collisions.

Fig. 2
figure 2

Shoe models: a shoe model of four pieces produced by Manufacturer 1, b shoe model of four pieces produced by Manufacturer 2, c array of random trays

The arms are constantly monitored to obtain information about their position and, if necessary, to recalculate the trajectory to avoid collisions. In addition, reference points are set along the trajectory where both arms are synchronised to ensure the correct transport of pieces that require the use of both arms. The distance between the arms is also set accordingly to ensure the correct transport of pieces that require the use of both arms.

In the context of pick-and-place operations, accurate camera calibration is crucial as mislocalisation can negatively affect task performance. In the work presented in [41], a markerless hand-eye calibration method specifically designed for the pick-and-place task is proposed and developed using non-linear iterative optimisation techniques. The vision system used consists of an ABB industrial camera connected to the robot, which provides the necessary data for further processing.

The vision program developed is capable of recognising the different pieces and determining their position in the XY plane, as well as their orientation in the Z axis. Once the pieces have been identified and located in the plane, the position and orientation data is sent to the robot, which begins the task of picking and placing the pieces.

In addition, the YuMi robot is equipped with a wrist-mounted camera, known as an eye-in-hand camera. This provides greater flexibility for viewing tasks. After completing the pick-and-place task, the robot performs a quality control task to verify that all the pieces have been placed correctly. This task is performed by the camera on the robot’s wrist. Figure 1 shows the complete industrial system, including the dual-arm robot, the camera, the tray, and the mould used in the task.

Table 1 BILP model notation

In this study, two shoe models from different manufacturers are considered, each consisting of four pieces. Three of these pieces require the use of only one arm, while the fourth piece requires the use of both arms. Images of each shoe are taken at random positions in order to evaluate the mathematical model developed. Figure 2 shows the shoe models and the images taken for the research analysis.

Certain constraints have been established based on experience. In particular, piece 4 always requires both arms to be carried, so its time is added to the total time of the task, as no other action can be performed simultaneously. It has also been decided that the double-armed piece will always be picked up last. For single arm pieces, it is common practice to use the nearest available arm to pick up the piece that is out of reach of the other arm.

The process of picking and placing pieces in an industrial environment begins when the pieces arrive in the robot’s work area. The first step is to take a photo to locate the pieces. This data is sent for external processing via socket communication between the robot and a Python program. Using a Binary Integer Linear Programming algorithm, the best sequence for picking and placing the pieces is calculated and sent to the robot. In the robot program, the paths are pre-programmed to avoid collisions and are executed in the order given by the optimal sequence algorithm.

2.2 Mathematical optimization problem

To solve the problem, a model is used that considers three pieces that require the use of only one arm and one piece that requires the use of both arms. This implies the existence of three pick-up nodes and three place nodes. In addition, a start node is added for each arm, giving a total of eight nodes in the Cartesian plane used to solve the problem. A summary of the notation used in the Binary Integer Linear Programming (BILP) model is given in Table 1.

Fig. 3
figure 3

Diagram with all possibilities. S are the home position for each arm. The i nodes are the pick positions and j nodes are the place positions

During the pick-and-place task, the robot’s workspace must be taken into account, when the piece rotation is between 90 and \(270^{\circ }\) a pre-rotation is necessary because the pick-up of the pieces is performed at an angle of approximately 30\(^o\) with respect to the XY plane, so if the piece pick-up point is oriented out of the robot workspace it is possible that the robot wrist is out of the workspace.

This is especially relevant in the case of two-armed pieces, as an out-of-space rotation could lead to collisions between the arms.

Figure 3 shows a graph with all problem possibilities. In black color, the trajectories which are mandatory after visiting the picking node are represented. In blue, the trajectories that can be made are represented. This problem is solved as a (BILP) and it consists of many elements:

$$\begin{aligned}{} & {} {\min } \displaystyle \sum _{k \in K}\displaystyle \sum _{i,j} D_{ij} X_{kij}\end{aligned}$$
(1)
$$\begin{aligned}{} & {} \text {s.t.} \displaystyle \sum _{i = 1}^{p}X_{ksi}=1 \qquad \qquad \qquad \qquad \qquad \qquad \quad \forall k=s, k \in K, s \in S \end{aligned}$$
(2)
$$\begin{aligned}{} & {} \sum _{k = 1}^{2}X_{kij}=1 \qquad \qquad \qquad \qquad \qquad \qquad \qquad \forall i=j, i \in T, j \in M \end{aligned}$$
(3)
$$\begin{aligned}{} & {} \sum _{j = 1}^{p}X_{kjs}=1 \qquad \qquad \qquad \qquad \qquad \qquad \qquad \forall k=s, k \in K, s \in S \end{aligned}$$
(4)
$$\begin{aligned}{} & {} \sum _{k = s = 1}^{2}X_{ksi}+\sum _{k = 1}^{2}\sum _{j = i}X_{kji}=1 \qquad \qquad \qquad \qquad \qquad \qquad \forall i \in T \end{aligned}$$
(5)
$$\begin{aligned}{} & {} \sum _{i = j = 1}^{p}X_{kij}\le p-1 \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \forall k \in K \end{aligned}$$
(6)
$$\begin{aligned}{} & {} \sum _{k = s = 1}^{2}\sum _{i \ne j}X_{kji}+\sum _{k = s = 1}^{2}X_{kjs}=1 \qquad \qquad \qquad \qquad \quad \qquad \forall j \in M \end{aligned}$$
(7)
$$\begin{aligned}{} & {} \sum _{i \ne j}X_{kji}+X_{kjs}-X_{khj}=0 \qquad \qquad \forall j \in M, k=s, h=j, h\in T \end{aligned}$$
(8)
$$\begin{aligned}{} & {} \sum _{j=1}^{p}X_{kji}+X_{ksi}-X_{kih}=0 \qquad \qquad \forall i \in T, k=s, h=i, h\in M \end{aligned}$$
(9)
  • Objective function (1): The objective function is defined by the addition of all distances run by both arms in order to place the single pieces from the tray to the mold. Therefore, the optimization problem should optimise the function:

Constraints

  • Initial constraints (2): The arm must start from the initial node. Therefore, the path from the initial node to tray node i \(\in T\) can only be given once. There will be as many type constraints as arms (s).

  • Placement constraints (3): Each piece can only go to one place on the mold so this movement has to be performed compulsory by one arm. All movements can only be performed as maximum by one arm, even there may be movements not crossed by any arm. There will be p constraints.

  • Return of the arm to the initial position (4): Each arm must come back to home position (initial node s) once it has finished the task, that is, each arm can only go once from a j node to initial node s. There will be as many type constraints as arms (s).

  • Tray nodes are only visited once (5): Each tray node i \(\in T\) is only visited once. These nodes can be reached from the initial node s \(\in S\), if it is the first time, or from a j \(\in M\) node if it is after the place of another piece. There will be p constraints.

  • The case of one arm that cannot pick all pieces (6): It is given as a condition that one arm cannot transport all pieces. It seems logical to think that if pieces are transported between both arms, the total task time will be minimised. There will be as many type constraints as arms (s).

  • From each mold node, only one arm comes out once (7): The j \( \in M \) node is the placing node for each piece, therefore, only one piece per node can be placed, so it can be visited only once considering all arms. If one arm has picked or placed a piece on a node, the same arm or the other one will be unable to do so again. There will be p constraints.

  • Entry and exit of a node from the mold (8): If one arm arrives at any placing node j \(\in M\), it is mandatory that the arm goes out from it to go to the next picking node i \(\in T\) or initial node s \(\in S\) if it has finished its task. There will be p constraints.

  • Entry and exit of a node from the tray (9): If one arm gets to any picking node i \(\in T\) is mandatory that the arm goes out from it to go to the analogy placing node j \(\in M\). It can be reached from the initial node of the arm or from a previous picking node. There will be p constraints.

3 Results and discussion

In order to assess the feasibility of the model, tests were carried out using 250 trays of the Manufacturer 1 model and a further 250 trays of the Manufacturer 2 model, for a total of 500 cases evaluated. Each tray was configured with random positions for the three pieces, always within the robot’s workspace. In this way, the vast majority of possibilities were taken into account.

The Binary Integer Linear Programming (BILP) model was implemented in the R language using the lpsolve library. In the case studied in this work, which consists of 3 pieces and 2 arms, 27 constraints were established.

Fig. 4
figure 4

Optimal solutions for different pick positions. Top row for Manufacturer 1 model shoe. Down row for Manufacturer 2 model shoe

3.1 Manufacturer 1 and Manufacturer 2 models results

The trajectory for each arm is analysed for each tray. Figure 4 (top row) shows the arms trajectory for three randomly selected trays of the Manufacturer 1 model. The body of the robot is positioned at position (250,0) and its end effectors are positioned in \(S_{1}\) and \(S_{2}\). Nodes \(i_{1}\), \(i_{2}\), and \(i_{3}\) represent the picking positions and nodes \(j_{1}\), \(j_{2}\), and \(j_{3}\) represent the place positions. Red lines represent the right arm trajectories and blue lines represent the left arm trajectories.

Fig. 5
figure 5

Boxplot and density graph for both Manufacturers

Figure 4 (down row) represents the solution of three randomly selected trays of Manufacturer 2 model. The greatest difference lays in the node \(j_{1}\).

Two strategies have been implemented in the robot programme to avoid conflicts and collisions during the execution of the trajectories, as shown in Fig. 4. The first strategy is to include synchronisation points where both arms must be placed simultaneously to ensure that there are no collisions. The second strategy is to give a higher speed to the arm that performs most of the pick-and-place operations, to ensure that both arms start and finish at the same time.

Analyses were performed on the data from the Manufacturer 1 and Manufacturer 2 models and the results are presented in the boxplot and density plot as shown in Fig. 5. For the Manufacturer 1 model, the box in the boxplot represents 50% of the central data and the red line indicates the median with a value of 1973.2 mm. The mean is 1971.9 mm and a 95% confidence interval has been calculated between 1952.1 and 1991.7 mm. The density plot shows the distribution of the total distances for all trays and it can be seen that most of the data is concentrated in a small interval, suggesting the robustness of the model.

The results for the Manufacturer 2 model are similar to the Manufacturer 1 model. The median is 1971.9 mm, the mean is 1948.4 mm and the 95% confidence interval is between 1930.8 and 1965.9 mm. As with the Manufacturer 1 model, the majority of the data falls between 1900 and 1980 mm.

Comparing the two models, it can be seen that both models have three pieces and show some similarities in the results. Table 2 summarises the main data for each model. There is a slight difference in the mean and median values due to the position of piece 1 in the fitting task. However, in the Fabricator 2 model the data are more clustered, with a smaller standard deviation. At the 95% confidence interval there is a difference in the absolute values, but the interval is narrow. This indicates that the vast majority of the data falls within this interval, confirming the robustness of the model.

Table 2 Features of optimal sequence for Manufacturer 1 and Manufacturer 2

In the comparative analysis between both boxplots with their 95% confidence interval, as already discussed before, Manufacturer 2 model has more compact data than Manufacturer 1 model and the values of ot are higher due to the place position of piece 1 which is different for each model.

Figure 6 represents the pick-and-place task for Manufacturer 1. The BILP model has been tested in experimental scenarios to validate it.

Fig. 6
figure 6

Pick-and-place task in an experimental scenario

3.2 Computational cost

The time taken to compute the best sequence is an important consideration, since if the time taken to find the fastest sequence is greater than the gain obtained by using such a sequence over a random sequence, the model would not be useful. It is therefore important to examine the computational cost involved.

A box plot showing the time taken to compute the best sequence for both models is shown in Fig. 7. In the case of the Manufacturer 2 model, there is an outlier of 0.04 seconds, but this value is not significantly different from the average of all cases. The graph shows that the vast majority of the data for both trays do not exceed 0.03 seconds in the sequence calculation. The average time is 0.0201 seconds for the Manufacturer 1 model and 0.0181 seconds for the Manufacturer 2 model. These times confirm the speed of the best sequence calculation for both models, which supports the efficiency of the proposed solution.

Fig. 7
figure 7

Computational time boxplot for Manufacturer 1 and Manufacturer 2

Table 3 shows the main feature for both models, where for Manufacturer 1 model has an average time of 0.0201, a standard deviation (Sd) of 0.0102 secs., a median time of 0.0200, a minimum time of <0.0001 and a maximum time of 0.0500. Manufacturer 2 has an average time of 0.0181, a standard deviation of 0.0075, a median time of 0.0200, a minimum time of 0.0100, and a maximum time of 0.0400. It is clearly appreciated that Manufacturer 2 model data are more compacted as indicated by a low standard deviation.

In Fig. 8, an analysis of the computational cost with the increase of the trays analyses is presented, in order to establish if the model has a linear, exponential, or logarithmic behavior. The analysis was developed with both models. Therefore, the behavior of both models is linear, having similar time values to calculate the best sequence.

Therefore, this data supports the research done because the time spent in calculating the best sequence for three pieces in the pick-and-place task has a lower mean of 0.025 secs.

Fig. 8
figure 8

Computational cost in function of number of trays for both models

3.3 Comparative between decision tree model and BILP model

The research conducted in the article [35] presents a decision tree model designed to optimise task execution time. This model reduces all possible sequences to a limited number of branches in the tree, which helps to minimise the computational cost.

To compare the two models, the optimal sequences of [35] corresponding to simulation 13 (where piece 1 is picked up by the left arm and pieces 2 and 3 are picked up by the right arm) and simulation 17 (where piece 3 is picked up by the right arm, piece 1 by the left arm and piece 2 by the right arm) of the decision tree model were selected. The distance that the arms have to travel in the BILP model presented in this study was then calculated, using the same positions of the pieces in the tray.

The information obtained is shown in Fig. 9, which represents the distance travelled by the arms for each of the simulations and manufacturers, compared to the distance obtained by the BILP model. The red line represents the mid-points between the two models when the distance travelled is the same.

For the Manufacturer 1 model, the mean distance travelled in simulation 13 is 2111.1 mm with a standard deviation of 163.8 mm. In simulation 17 the mean distance travelled is 2148.3 mm with a standard deviation of 156.6 mm. For the Manufacturer 2 model, the mean distance travelled in simulation 13 is 2128.4 mm with a standard deviation of 147.86 mm. In simulation 17 the mean distance travelled is 2173.5 mm with a standard deviation of 171.4 mm.

The results show that by using the BILP model, an improvement in the average distance travelled per tray of 9.0% is achieved for the Manufacturer 1 model and 11.6% for the Manufacturer 2 model. These results demonstrate the effectiveness and advantages of the BILP model in reducing the distance travelled during the pick-and-place task.

Table 3 Features of computational times(secs.) for Manufacturer 1 and Manufacturer 2

These results support the validity of the decision tree-based approach and show that the new approach significantly reduces task execution times at negligible computational cost. It was possible to reduce the number of trajectories required by a dual-arm robot to place all the pieces in the mould.

It is important to note that the pick-and-place process accounts for approximately 83% of the total assembly time of a shoe. With this proposed approach, an approximate reduction of 7.1% and 9.0% of the total time is achieved compared to the decision tree model. The average times for the Manufacturer 1 and Manufacturer 2 models in the decision tree model are 15.14 s and 15.51 s respectively. In addition to the pick-and-place process, there is a start time of 1.5 seconds and an end time of 5 seconds. This gives a total task time of 21.64 s for the Manufacturer 1 model and 22.01 s for the Manufacturer 2 model.

Fig. 9
figure 9

Comparative between decision tree model and BILP model

Considering that a dual-arm robot can handle 1308 moulds in an 8-h working day, and that it takes an average of 21.64 seconds to handle a mould with the Manufacturer 1 model, the total assembly time for all the trays could be reduced by 42.46 minuntes for the Manufacturer 1 model. This means that, using the proposed BILP model, 129 additional moulds could be assembled for the Manufacturer 1 model and 171 additional moulds could be assembled for the Manufacturer 2 model in the same period of time.

As can be seen, the points shown in Fig. 9 are always above the red line, at most with the decision tree model, the same distance moved is obtained. So the BILP model is always equal to or better than the decision tree model in distance minimization.

3.4 BILP model for n pieces

After developing the mathematical model to optimise the pick-and-place sequence, a problem was identified when increasing the number of pieces to obtain the optimal sequence. Loops were observed between two pieces, resulting in the corresponding arm not reaching its final position. To avoid these loops and ensure correct execution, it was decided to introduce the following constraint into the model.

$$\begin{aligned} \sum _{j=1}X_{kij}+\sum _{j\ne 1}X_{kij} < p \hspace{1cm} \forall i \in T, k=s, j \in M \end{aligned}$$
(10)

Loops (10). It is not possible to generate a path that creates a closed loop between two pieces without ending or starting at the starting point. There must be 3(p-2) constraints. Tests were carried out to check the robustness of the algorithm for 4, 5, 6, and 7 pieces. In each case, 250 trays were produced and the optimal solution was obtained. Figure 10 shows the graph of the sequence of a tray for each of the cases. The right arm is represented with red lines and the left arm with blue lines.

Fig. 10
figure 10

Optimal solutions for different number of pieces. Blue line is for red arm and blue line is for left arm

Fig. 11
figure 11

Medium optimal distance and computational cost for different number of pieces

In the analysis carried out for the different numbers of pieces, the average optimal distance and the computational cost were obtained, as can be seen in Fig. 11. In the case of the optimal distance, it follows a proportional function that increases with the number of pieces, while the computational cost increases exponentially, due to the fact that the number of constraints increases exponentially with the number of pieces.

4 Conclusions

This paper presents the results of a BILP algorithm for the pick-and-place task in shoe manufacturing using a dual-arm collaborative robot. One of the main advantages of the proposed approach is the simplification of the multi-robot model. Tests were carried out on two different shoe models consisting of three pieces to be picked up by one arm and one piece to be picked up by both arms. In total, more than 500 cases were solved to test the model and in all of them, a valid solution with an optimal trajectory for both arms was obtained.

It is important to note that the piece requiring two arms contributes to the total time, so in this research, it is considered at the end of the sequence. This piece is not included in the mathematical model for the reasons given above. The model focuses on pieces that are picked up by a single arm. Consequently, the model from Manufacturer 1 moves an average distance of 4185.9 mm, while the model from Manufacturer 2 moves an average distance of 4327.5 mm. This difference in distance is mainly due to the variation in the position of piece 1.

The results obtained for the 500 trays demonstrate the robustness of the model. No data was found outside the workspace and all trajectories were optimally calculated, giving consistent results. Another important point to note is the time taken to calculate the optimal sequence. The results show an average time of 0.02 seconds to calculate each tray. This time increases linearly with the number of trays. Therefore, the proposed approach offers a significant advantage as the time taken by the model to determine the best sequence is minimal.

The BILP model is compared with the decision tree model presented in the article [35], which shows an improvement in minimising the distances while having a significantly lower computational cost. In all the trays presented, the BILP model outperforms or at least equals the distance in the trajectory of the robotic arms when performing the pick-and-place task.

The present BILP model has been tested with the two models mentioned and the next step will be to test it with models containing more pieces to see if the results obtained can be extrapolated to any model and even to other pick-and-place systems. Furthermore, the number of robots has been considered as a parameter, so that the removal or addition of one of them does not affect the BILP model presented in this research.

Finally, the model has been tested for n pieces, obtaining data that confirms the robustness of the model, increasing the optimised distance proportionally and the computational cost exponentially as the number of pieces increases.