Introduction

As one of the major energy in the world, coal consumption was 8.42 billion tons in 2022. China dominates the coal market more than any other country, producing half of the world’s coal (IEA, 2022)1. With the continuous promotion of clean and efficient coal utilization in the coal industry development, the coal foreign object sorting problem such as gangue, woven bag, iron wire and wood block is particularly important. This not only improves the coal quality, ensures human–machine safety and reduces environmental pollution, but also realizes the recycling and reuse of coal foreign object2.

In the early stage, coal foreign objcet sorting was mainly aimed at coal and gangue, and manual sorting was the main method, which had problems such as low belt speed, low sorting efficiency, high labor intensity, and lung disease harm. With the intelligent construction of coal mine, the intelligent coal gangue sorting technology that combining the theories of machine vision, machine learning and robotics has emerged3. Among them, ray, spectral, and image based coal gangue recognition methods provide gangue queue information for multi-task allocation4,5,6. Methods such as heavy load and high speed of coal gangue dynamic target tracking and multiple manipulators cooperative control achieve fast, accurate and stable grasping, and provide task execution time for multi-task allocation7,8. The obstacle avoidance estimation and planning method of coal gangue sorting robot lays a foundation for the realization of multi-task allocation in complex scenes9. On this basis, in order to improve coal quality, ensure human–machine safety and reduce environmental pollution, the environment randomly mixed with iron wire, woven bag, wooden block and other sundry into the field of vision of scholars. Luo et al. proposed a faster and lighter detection method for foreign objects in coal mine belt conveyors, ensuring the safe and smooth operation of belt conveyor10. With the development of coal gangue detection methods, Yang et al. used the YOLOv7 network model to identify the coal foreign object and improved the coal foreign object tracking algorithm11. Cao et al. proposed a StyleGAN-DSAD based method to generate high-quality coal foreign object images, and verified the effectiveness of the dataset using the instance segmentation framework BlendMask12. Cao et al. proposed a coal foreign object detection method based on cross-modal attention fusion in 2024, with a single frame detection time of less than 110.5 ms13. At the same time, the development of force-sensitive pneumatic mechanical claw and underactuated mechanical claw for multiple types and complex features of coal foreign objects has achieved stable and accurate grasping of gangue and sundry, respectively14,15. At present, the progress of key technologies related to coal foreign object sorting urgently needs to study multi-task allocation methods to cope with the increasingly diverse robots (to avoid confusion with CFoSR, referred to as manipulators in the future) and increasingly complex tasks. For the difference of belt speed and coal flow upper limit in different coal preparation plants, especially for the non-linear change of coal flow and gangue content with time (Definition of time-varying raw coal flow, TVRCF), the comprehensive revenue of CFoSR multi-task allocation still has a lot of room for improvement.

The multi-task allocation research of coal foreign object sorting is based on the multi-task allocation of coal gangue sorting robot (CGSR). CGSR usually consists of a recognition and positioning module, a multi-manipulator module, a control module, and a belt conveyor16. Belt conveyor deliver coal and gangue to CGSR. The recognition and positioning module obtains information such as classification result, granularity and position coordinates through the coal gangue recognition method. The multi-manipulator module achieves coal gangue separation through dynamic target tracking, cooperative control, and force-sensitive pneumatic mechanical claw. The multi-task allocation of CGSR is to improve the sorting rate of gangue sorting by using a limited number of manipulators, and the arrival time interval, mass and position coordinates of gangue are randomly distributed. Cao et al. proposed a multi-manipulator collaboration strategy with feedback mechanism in 201917. The multi-manipulator collaboration mathematical model and task allocation solving algorithm of CGSR were designed. It was found that the arrival time interval of gangue was negatively correlated with the sorting rate, and positively correlated with the manipulator feedback distance, but different task allocation algorithms were not compared in depth. Aiming at the multi-manipulator cooperation problem in limited space, Wang et al. proposed a multi-manipulator coal gangue sorting robot cooperation strategy based on immune dynamic workspace18. The deadlock problem of multiple manipulators in the dynamic workspace is solved, and the sorting rate is increased by 10% compared with the FIFO rule. Ma et al. proposed a multi-arm global cooperative coal gangue sorting method based on improved Hungarian algorithm19. Combining task allocation with trajectory planning, the sorting rate is increased by 10% ~ 20% compared with the fixed workspace. These two multi-task allocation methods focus on the multi-manipulator collaborative method with dynamic workspace, which is a static multi-task allocation. In the actual production process, the coal flow and the gangue content changed non-linearly with time, and no correlation. Wu et al. proposed a scheme evaluation method for a coal gangue sorting robot system with a time-varying multi-scenario based on deep learning. The applicability of the CGSR is improved from the aspects of TVRCF decomposition, multi-task allocation, and cooperative strategy optimization20. In order to reduce the time complexity of the algorithm for multi-scene and full-condition online task allocation problems. Wu et al. proposed a scheme evaluation method for a coal gangue sorting robot system with a time-varying multi-scene based on deep learning21. This method applied deep learning to the multi-task allocation problem of the CGSR system, and the time complexity is reduced by 19 times, and the prediction accuracy of the CGSR scheme evaluation model is higher than 87%. The distribution of gangue in time, space and feature affects the multi-task allocation results of coal gangue sorting, and the goal is to improve the total mass of gangue sorting. However, coal foreign object includes not only gangue, but also sundries such as woven bag, wood block and iron wire. The environment mixing of sundry is random, and its multi-kind and complex feature are the key elements that affect multi-task allocation. The sorting goal is to increase the total number of sundry sorting. Obviously, the multi-task allocation research of the CFoSR faces the problems of multiple category, complex feature, and spatio-temporal randomness of the coal foreign object. The CGSR multi-task allocation model and its solution algorithm are not suitable for CFoSR.

In this paper, the multi-task allocation model and its solution method for coal foreign object sorting are discussed. A multi-task allocation model based on optimal capacity and benefit (OcB-MTAM) was constructed, and the basic framework of the task set with coal foreign objects and the heterogeneous manipulator set with performance heterogeneity constraints was described. A combination rule strategy based on genetic algorithm (GACRS) was proposed to improve the optimal fitness value of multi-evaluation index multi-task allocation. The effectiveness of the model and method is verified by simulation experiments and CFoSR experimental platform.

  1. (1)

    Considering the heterogeneous multi-manipulators of CFoSR and the complex features of multiple coal foreign object, the OcB-MTAM is constructed in this paper. An optimal capacity function is proposed to solve the task allocation priority problem of coal foreign object. The work ability of the manipulator is defined by the locally constrained multi-capacity, and the heterogeneous manipulator allocation results of the task category and its number proportion are balanced.

  2. (2)

    To improve coal quality, human–machine safety and environmental pollution, it is necessary to increase the total mass of gangue sorting and the total number of sundry sorting at the same time. To this end, this paper proposes GACRS to solve the multi-task allocation results of multiple evaluation indexes. The experimental results show that GACRS further improves the optimal fitness value of CFoSR multi-task allocation.

  3. (3)

    Considering the influence of TVRCF on the distribution of multiple kinds of coal foreign object in time, space and feature, this paper designs the scheduling rules and equalization operator of multi-manipulator in the mathematical model of CFoSR. The multi-task allocation experiment reveals the action mechanism of scheduling rules, heterogeneous manipulators, belt speed and coal flow upper limit on coal foreign object sorting.

Problem description

MTAM of CFoSR

As shown in Fig. 1 the multi-task allocation process of CFoSR, CFoSR is composed of a recognition and positioning module based on binocular vision, a heterogeneous multi-manipulator module, a belt conveyor, and a control module. The recognition and positioning module based on binocular vision can obtain the information of coal foreign object, including the category, feature, arrival time and position coordinates. The heterogeneous multi-manipulator module contains the gangue sorting manipulator and the sundry sorting manipulator, equipped with different end effector. The running speed of belt conveyor is fixed. Coal foreign object is distributed on the belt plane and moves with belt at a uniform speed. According to the coal foreign object information, the control module allocates the coal foreign object to each manipulator through the MTAM of CFoSR.

Fig. 1
figure 1

The multi-task allocation process of CFoSR.

Coal foreign object such as gangue, woven bag, iron wire, and wood block pass through the detection area, buffer area, and picking and placing area in turn. Multi kinds of coal foreign objects have complex features, including length, width, height, volume, density and mass. The spatiotemporal randomness of coal foreign object describes the distribution law of arrival time interval and location coordinates, which is not affected by the kind of coal foreign object. Figure 2 coal foreign object distribution in time-varying raw coal flow is the coal foreign object distribution of time-varying raw coal flow (TVRCF). The gangue is a secondary product of coal production, because gangue content is affected by dirt band and fault in fully mechanized mining, as well as top-coal caving, which is traceable22,23,24. The sundry is randomly mixed by the environment, because the sundry content is affected by personnel operation, simple support, and bolt-mesh support, which is not traceable10. The coal foreign object is transported to the CFoSR by the belt conveyor, and its position distribution on the X-axis and Y-axis is the same. Therefore, coal foreign object has multi kinds, complex features and strong spatiotemporal randomness. The multi-task allocation of CFoSR is challenging.

Fig. 2
figure 2

Coal foreign object distribution in time-varying raw coal flow.

Coal foreign object sorting needs to increase the total mass of gangue and the total quantity of sundry, simultaneously. According to the influence of coal foreign object on coal quality, human–machine safety, and environmental pollution, the key physical features of gangue, woven bag, iron wire and wood block are analyzed. Gangue has little impact on human–machine safety, and its impact on coal quality and environmental pollution depends on the mass proportion, and the key physical feature is mass value. The impact of sundry on coal quality depends on the quantity proportion. Among them, the impact of woven bag on equipment damage and environmental pollution depends on the amount of material that can be enveloped, and the key physical feature is area value. The impact of wood block on equipment damage and blocking transport depends on the amount of material that can be intercepted, and the key physical feature is length value. The impact of iron wire on human–machine safety depends on the sharp morphology of unfolding, bending, and winding, and the key physical feature is length value. The above analysis shows that the complex features of various coal foreign objects mainly include key physical features such as mass, area, and length. The coal foreign object on the belt conveyor will arrive continuously, and CFoSR needs to allocate the coal foreign object to the heterogeneous manipulator in finite time according to the maximum comprehensive income. This is a multi-objective and multi-task allocation problem, which needs to discuss the heterogeneous manipulators, multi-type tasks, task allocation model and its solution algorithm.

Mathematical model of the multi-task allocation problem

Assumed conditions

Without loss of generality, in order to better describe the multi-task allocation problem of CFoSR, the following assumptions are made:

  1. (1)

    The belt conveyor needs to be modified into flat idler, and the belt surface is horizontal. The phenomenon of belt slack and deviation will affect the movement of coal foreign object in the belt conveyor. However, the change of position coordinates caused by this effect is limited. Therefore, this paper does not consider the belt slack and deviation when discussing the task allocation of coal foreign object.

  2. (2)

    The position coordinates of the robot are fixed, the same as the position coordinates of the placing task. Each axis of the robot moves at a constant speed.

  3. (3)

    The categories of heterogeneous robots are described by end-effector, maximum speed, acceleration, load, and workspace parameters.

  4. (4)

    The failure of the robot picking and placing tasks due to stacking and occlusion of the coal foreign object is not considered. After the robot picks up and places the task, it can perform the next task.

Evaluation indexes

According to evaluation indexes of CGSR multi-task allocation problem, the evaluation indexes of coal foreign object sorting are task completion success rate (TCSR), task income rate (TIR), and robot utilization rate (RUR)20. Among them, TCSR is the ratio of the total amount of tasks sorted by CFoSR to the total amount of tasks transported by belt conveyor.

$${\text{TCSR}} = \frac{{\mathop \sum \nolimits_{j} n_{j} }}{N} , 0 < {\text{TCSR}} < 1$$
(1)

where nj is the amount of tasks sorted by the j-th manipulator. N is the total amount of tasks transported by belt conveyor.

TIR is the ratio of the total addition income of tasks sorted by CFoSR to the total addition income of tasks transported by belt conveyor.

$${\text{TIR}} = \frac{{\mathop \sum \nolimits_{j} \mathop \sum \nolimits_{k} {\varvec{e}}_{jk}^{{{\text{RT}}}} }}{{\mathop \sum \nolimits_{i} \left( {\frac{{m^{{\text{T}}} }}{{m_{{{\text{max}}}}^{{\text{T}}} }}, \frac{{s^{{\text{T}}} }}{{s_{{{\text{max}}}}^{{\text{T}}} }}, \frac{{l^{{\text{T}}} }}{{l_{{{\text{max}}}}^{{\text{T}}} }}{|}o_{i}^{{\text{T}}} } \right)}} , 0 < {\text{TIR}} < 1$$
(2)

where ejkRT is the additional income of k-th task sorted by the j-th manipulator. The category of coal foreign object is denoted as oiT. The mass and maximum mass of gangue are mT and mTmax in kg, respectively. The area and maximum area of woven bag are sT and sTmax in mm2, respectively. The length and maximum length of iron wire and block wood are lT and lTmax in mm, respectively.

RUR is the ratio of the total time of tasks performed by manipulator to the uptime of CFoSR.

$${\text{RUR}} = \frac{{\mathop \sum \nolimits_{j} \mathop \sum \nolimits_{k} T_{{{\text{sort}}}} \left( {M_{j} ,T_{k} } \right)}}{{T_{{{\text{sys}}}} }}{ },{ }0 < {\text{RUR}} < 1$$
(3)

Tsort(Mj, Tk) is the picking and placing time of k-th task sorted by j-th manipulator, in s. Tsys is the uptime of CFoSR, in s.

Constraint conditions

The gangue content is denoted by the the symbol μm, which describes the ratio of the total mass of gangue to the total mass of raw coal flow, and it changes with time.

$$0 < \mu_{{\text{m}}} \left( {T_{{{\text{sys}}}} } \right) < 1$$
(4)

The sundry content is denoted by the the symbol μs,l, which describes the ratio of the total amount of woven bag, iron wire, and block wood to the total amount of sundry, gangue and coal.

$$0 < \mu_{{{\text{s}},{\text{l}}}} \left( {T_{{{\text{sys}}}} } \right) < 1$$
(5)

The key physical features of coal foreign objects include the mass of gangue, the area of woven bag, and the length of iron wire and wood block. The specific constraints are as follows.

$$\left( {m_{{{\text{min}}}}^{{\text{T}}} ,s_{{{\text{min}}}}^{{\text{T}}} ,l_{{{\text{min}}}}^{{\text{T}}} } \right) < \left( {m^{{\text{T}}} ,s^{{\text{T}}} ,l^{{\text{T}}} {|}o_{i}^{{\text{T}}} } \right) < \left( {m_{{{\text{max}}}}^{{\text{T}}} ,s_{{{\text{max}}}}^{{\text{T}}} ,l_{{{\text{max}}}}^{{\text{T}}} } \right)$$
(6)

where oiT is the category of the i-th task. The mass of gangue is mT, in the range of [mTmin, mTmax], in kg. The area of the woven bag is sT, in the range of [sTmin, sTmax], in mm2. The length of the iron wire and wood block is lT, in the range of [lTmin, lTmax], in mm.

MTAM of CFoSR based on optimal capacity and benefit

Figure 3 in MTAM diagram of CFoSR based on optimal capacity and benefitshows the MTAM diagram of CFoSR based on optimal capacity and benefit. According to the recognition and positioning module, heterogeneous multi-manipulator module, belt conveyor and control module of CFoSR, the coal foreign object sorting problem is abstracted as a MTAM based on optimal capacity and benefit (OcB-MTAM).

Fig. 3
figure 3

MTAM diagram of CFoSR based on optimal capacity and benefit.

In the task space, the relationship between coal foreign object and heterogeneous multi-manipulator module is abstracted. The task set of coal foreign object is established, including information such as category, key physical feature, arrival time interval, position coordinates, and belt speed. A heterogeneous manipulator set is established, containing the specifications and working capabilities of the manipulator. Based on this, the categories, additional incomes and mobility of the task, as well as the mobility and work capabilities of the manipulator are described.

The mathematical model of CFoSR (CFoSR-MM) is constructed to calculate the matching matrix between the heterogeneous manipulator set and the task set. At any moment, whether the manipulator can pick and place task depends on the mobility and position coordinates. Therefore, the matching result between the manipulator and the task is a Boolean value.

The optimal capacity function is designed to calculate the optimal capacity matrix of the heterogeneous manipulator set and the task set. Multi-kind tasks require manipulators with performance heterogeneity. Subsection “MTAM of CFoSR” describes the gangue sorting manipulator and the sundry sorting manipulator. The gangue picking manipulator is equipped with a force-sensitive pneumatic mechanical claw, denoted as Robot I. The sundry sorting manipulator is equipped with an underactuated mechanical claw, denoted as Robot II. Considering the environmental mixing randomness of sundry, the proportion of gangue quantity and sundry quantity is uncertain. The varying-number of sundry will affect the RUR of Robot II. Therefore, the concept of locally constrained multi-capacity is introduced in this paper. Because underactuated mechanical claw can not only grasp sundry, but also small granularity gangue within the rated load range of Robot II. It follows that there are three categories of tasks. The first category of Task is gangue, denoted as Task I. The second category of Task is the small-grained gangue, denoted as Task II. The third category of tasks is sundry, denoted as Task III. At any time, the priority of picking and placing tasks of heterogeneous manipulators depends on the manipulator work capabilities and the task category. Therefore, the optimal capacity value between the manipulator and the task is a positive integer.

The benefit function was designed to calculate the benefit matrix of the heterogeneous manipulator set and the task set. At any time, the benefit value of the manipulator picking and placing task depends on the sorting time of the manipulator and the additional income of the task. Both sorting time and additional income need to be normalized. Therefore, the benefit value between the manipulator and the task is between 0 and 1.

The environment state is defined to describe the change of the task space with the CFoSR uptime. The matching matrix, optimal capacity matrix and benefit matrix were used to calculate the environment state matrix, which represented the heterogeneous manipulator set of and task set at any time.

The state transition function is designed to describe the continuous change process of the task space with the CFoSR uptime. In the picking and placing area of the heterogeneous multi-manipulator module, if the environmental state at this time is known, the environmental state at the subsequent time is only related to the environmental state at this time, and has nothing to do with the environmental state at the previous time. Therefore, the change of environmental state has no aftereffect and is an infinite state Markov chain25.

Finally, the number of heterogeneous manipulators is finite, and there is a resource limitation constraint. When the number of tasks is larger than the number of manipulators, this paper designs the scheduling rules of multi-manipulator. Subsection “MTAM of CFoSR” describes the distribution of coal foreign object, and the arrival number of tasks varies and is unstable. When the number of tasks is less than the number of manipulators, this paper designs the multi-manipulator equalization operator. This facilitates collaborative task allocation between Robot I, between Robot II, and between Robot I and Robot II. The deadlock problem of manipulators is solved.

CFoSR-MM

The task set of the coal foreign object (CFo) is as follows.

$${\text{CFo}}\left( {{\text{T}}_{i} } \right) = \left\{ {\left( {x_{i}^{{\text{T}}} , y_{i}^{{\text{T}}} , z_{i}^{{\text{T}}} } \right), t_{i}^{{\text{T}}} ,v_{{\text{b}}} ,\left( {m^{{\text{T}}} ,s^{{\text{T}}} ,l^{{\text{T}}} {|}o_{i}^{{\text{T}}} } \right),\left( {m_{{{\text{max}}}}^{{\text{T}}} ,s_{{{\text{max}}}}^{{\text{T}}} ,l_{{{\text{max}}}}^{{\text{T}}} } \right),o_{i}^{{\text{T}}} } \right\}$$
(7)

where, the arrival time interval of task is tiT, in s. The position coordinates of task is (xiT, yiT, ziT), in mm. The belt speed is vb, in m/s. The task mobility is described by the arrival time interval, the position coordinates, and the belt speed, the symbol is C1T. The key physical features of tasks are denoted as (mT, sT, lT | oiT). The task category is expressed as oiT. The maximum feature value is expressed as (mmaxT, smaxT, lmaxT). The additional income of the task is described with the key physical feature and the maximum feature, the symbol is C3T. The working capacity of the task required is defined according to the task category, the symbol is C2T.

The manipulator specifications are defined by velocity, acceleration, and angular velocity. The manipulators with different end-effectors have different work capabilities. The heterogeneous manipulators set is as follows.

$${\text{HR}}\left( {{\text{M}}_{j} } \right) = \left\{ {\left( {x_{j}^{{\text{R}}} , y_{j}^{{\text{R}}} , z_{j}^{{\text{R}}} } \right),\left( {a,v_{{{\text{max}}}} ,\omega {|}o_{j}^{{\text{R}}} } \right),\left( {l^{{\text{R}}} ,m^{{\text{R}}} {|}o_{j}^{{\text{R}}} } \right),o_{j}^{{\text{R}}} } \right\}$$
(8)

where, the position coordinates of the manipulator are (xjR, yjR, zjR), in mm. The velocity, acceleration, and angular velocity are α, vmax, ω, respectively. The manipulator mobility is described as (α, vmax, ω | ojR), and the symbol is C1R. The manipulator type is ojR. The manipulaotr workspace is lR, in mm. The rated load of the manipulator is mR, in kg. The work capacity of the manipulator is described as type and rated load, the symbol is C2R.

In the picking and placing process, the manipulator first moves to the encounter point with the task, then follows the task along the X-axis and the end-effector descends to the belt plane along the Z-axis. Meanwhile, the pose of the end-effector relative to the task has been adjusted. The time for the manipulator to pick and place task is calculated using the function Tsort.

$$T_{{{\text{sort}}}} \left( {{\text{M}}_{j} ,{\text{T}}_{i} } \right) = \left\{ {\begin{array}{*{20}l} {2\left( {t_{1} + t_{2} } \right),} \hfill & {t_{1} + t_{2} > t_{3} } \hfill \\ {t_{1} + t_{2} + t_{3} ,} \hfill & { t_{1} + t_{2} \le t_{3} } \hfill \\ \end{array} } \right.$$
(9)

where the time for the manipulator to move directly above the encounter point is t1. The time for the robot to descend to the belt plane is t2. The pose adjustment time of the end-effector is t3.

$$\left\{ \begin{aligned} t_{1} = & \,{\text{max}}\left\{ {t_{1}^{{\text{x}}} ,t_{1}^{{\text{y}}} } \right\} \\ t_{1}^{{\text{x}}} = & \,\left\{ {\begin{array}{*{20}c} {\frac{{ - v_{{\text{b}}} + \sqrt {v_{{\text{b}}}^{2} - 4a\left| {x_{i}^{{\text{T}}} - x_{j}^{{\text{R}}} } \right|} }}{2a},} & {v \le v_{{{\text{max}}}} ,} & {x_{i}^{{\text{T}}} \le x_{j}^{{\text{R}}} } \\ {\frac{{a\left| {x_{i}^{{\text{T}}} - x_{j}^{{\text{R}}} } \right| + v_{{{\text{max}}}}^{2} }}{{a\left( {v_{{{\text{max}}}} + v_{{\text{b}}} } \right)}},} & {v > v_{{{\text{max}}}} } & {} \\ \end{array} } \right. \\ t_{1}^{{\text{x}}} = & \,\left\{ {\begin{array}{*{20}c} {\frac{{v_{{\text{b}}} + \sqrt {v_{{\text{b}}}^{2} - 4a\left| {x_{i}^{{\text{T}}} - x_{j}^{{\text{R}}} } \right|} }}{2a},} & {v \le v_{{{\text{max}}}} ,} & {x_{i}^{{\text{T}}} > x_{j}^{{\text{R}}} } \\ {\frac{{a\left| {x_{i}^{{\text{T}}} - x_{j}^{{\text{R}}} } \right| + v_{{{\text{max}}}}^{2} }}{{a\left( {v_{{{\text{max}}}} - v_{{\text{b}}} } \right)}},} & { v > v_{{{\text{max}}}} } & {} \\ \end{array} } \right. \\ t_{1}^{{\text{y}}} = & \,\left\{ {\begin{array}{*{20}c} {\sqrt {\frac{{\left| {y_{i}^{{\text{T}}} - y_{j}^{{\text{R}}} } \right|}}{a}} , } & {v \le v_{{{\text{max}}}} } \\ {\frac{{\left| {y_{i}^{{\text{T}}} - y_{j}^{{\text{R}}} } \right|}}{{v_{{{\text{max}}}} }} + \frac{{v_{{{\text{max}}}} }}{a} , } & {v > v_{{{\text{max}}}} } \\ \end{array} } \right. \\ \end{aligned} \right.$$
(10)

where, t1x and t1y are the movement times along the X-axis and Y-axis, respectively, in s. The manipulator velocity is v, in m/s.

$$a \cdot \left( {t_{2} } \right)^{2} = \left| {z_{i}^{T} - z_{j}^{R} } \right|,\, at_{2} < v_{\max }$$
(11)

The angle of the end-effector relative to the task is θ. The pose adjustment time of the end-effector is calculated as follows.

$$t_{3} = \frac{\theta }{\omega }{ },{ }0 \le \theta \le 180$$
(12)

At any time, the matching result of manipulators picking and placing tasks in the workspace is denoted as sji.

$$s_{ji} = \left\{ {\begin{array}{*{20}c} {1, T_{{{\text{tra}}}} \left( {{\text{M}}_{j} ,{\text{T}}_{i} } \right) \le } & {T_{{{\text{limt}}}} \left( {{\text{T}}_{i} } \right) P_{j} = 1} \\ {0, T_{{{\text{tra}}}} \left( {{\text{M}}_{j} ,{\text{T}}_{i} } \right) > } & {T_{{{\text{limt}}}} \left( {{\text{T}}_{i} } \right) P_{j} = 1} \\ {0,P_{j} = 0 } & {} \\ \end{array} } \right.$$
(13)

where the manipulator state belongs to a Boolean value, denoted Pj. Tlimt is the maximum waiting time of the task in the workspace, in s. The dynamic tracking time for the manipulator picking and placing task is Ttra, in s.

$$T_{{{\text{limt}}}} \left( {{\text{T}}_{i} } \right) = \frac{{l^{{\text{R}}} - x_{i}^{{\text{T}}} }}{{v_{{\text{b}}} }}$$
(14)

The dynamic tracking time is calculated as follows.

$$T_{{{\text{tra}}}} \left( {{\text{M}}_{j} ,{\text{T}}_{i} } \right) = \left\{ {\begin{array}{*{20}c} {t_{1} + t_{2} ,} & {t_{1} + t_{2} > t_{3} } \\ {t_{3} ,} & {t_{1} + t_{2} \le t_{3} } \\ \end{array} } \right.$$
(15)

The diagonal point of the workspace is Pdiag, expressed as (lR, B, zjR). The round-trip time is Tmax, which is a constant. The belt width is B, in mm.

$$T_{{{\text{max}}}} \left( {{\text{M}}_{j} } \right) = T_{{{\text{sort}}}} \left( {{\text{M}}_{j} ,{\text{P}}_{{{\text{diag}}}} } \right)$$
(16)

Optimal capacity function and benefit function

Optimal capacity function

The categories of tasks are described as follows.

$$o_{i}^{{\text{T}}} = \left\{ {\begin{array}{*{20}c} {1,} & {gangue} \\ {2,} & {m^{{\text{T}}} \le m^{{\text{R}}} } \\ {3,} & {sundry} \\ \end{array} } \right.$$
(17)

The working capability of the heterogeneous manipulator is described as follows.

$$o_{j}^{{\text{R}}} = \left\{ {\begin{array}{*{20}c} {1, o_{i}^{{\text{T}}} = 1,o_{i}^{{\text{T}}} = 2} \\ {2, o_{i}^{{\text{T}}} = 2,o_{i}^{{\text{T}}} = 3} \\ \end{array} } \right.$$
(18)

The optimal capacity value is calculated according to the working ability of heterogeneous manipulator and the category of task.

$$o_{ji}^{{{\text{RT}}}} = \left\{ {\begin{array}{*{20}c} {0, } & {\left\{ {o_{i}^{{\text{R}}} = 3,\left( {m^{{\text{T}}} > m^{{\text{R}}} {|}o_{i}^{{\text{T}}} = 1} \right)} \right\} or \left\{ {o_{j}^{{\text{R}}} = 1,o_{i}^{{\text{T}}} = 3} \right\}} \\ {o_{j}^{{\text{R}}} + o_{i}^{{\text{T}}} ,} & {otherwise} \\ \end{array} } \right.$$
(19)

where, the optimal capacity value of j-th manipulator (Symbol R description) sorting i-th task (Symbol T description) is oji,RT. The higher the optimal capacity value, the higher the priority.

Benefit function

The benefit function is used to solve for the benefit value of the manipulator picking and placing the task, which is a function of the task set and the heterogeneous manipulator set. The calculation proceeds as follows.

$$e_{ji} = f_{1} \left( {{\varvec{C}}_{2}^{{\text{R}}} ,{\varvec{C}}_{2}^{{\text{T}}} } \right) \cdot \left[ {k_{1} f_{2} \left( {{\varvec{C}}_{1}^{{\text{R}}} ,{\varvec{C}}_{1}^{{\text{T}}} } \right) + k_{2} f_{3} \left( {{\varvec{C}}_{3}^{{\text{T}}} } \right)} \right] , k_{1} + k_{2} = 1$$
(20)

where, k1 and k2 represent the weight of sorting time and additional income, respectively. k1 and k2 are non-negative numbers. The range of function f2 and are function f3 both [0, 1], and 0 ≤ f2(C1R, C1T) ≤ 1, 0 ≤ f3(C3T) ≤ 1, k1 + k2 = 1. It follows that the benefit function has a range of [0, 1], and is solvable.

The value of function f1 is a function of the work capacity of the manipulator and the requirement work capacity of the task, which is a Boolean quantity.

$$f_{1} \left( {{\varvec{C}}_{2}^{{\text{R}}} ,{\varvec{C}}_{2}^{{\text{T}}} } \right) = \left\{ {\begin{array}{*{20}c} {1 , o_{ji}^{{{\text{RT}}}} \ge 0} \\ {0 , o_{ji}^{{{\text{RT}}}} = 0} \\ \end{array} } \right.$$
(21)

The value of function f2 is a function of manipulator mobility and task mobility.

$$f_{2} \left( {{\varvec{C}}_{1}^{R} ,{\varvec{C}}_{1}^{T} } \right) = 1 - \frac{{T_{{{\text{sort}}}} \left( {M_{j} ,T_{i} } \right)}}{{T_{{{\text{max}}}} \left( {M_{j} } \right)}}$$
(22)

The value of function f3 is a function of the additional income of the task. The normalization is performed according to the key physical feature value and the maximum feature of the task.

$$f_{3} \left( {{\varvec{C}}_{3}^{{\text{T}}} } \right) = \left( {\frac{{m^{{\text{T}}} }}{{m_{{{\text{max}}}}^{{\text{T}}} }}} \right)_{{{\text{Gangue}}}} \cdot \left( {\frac{{s^{{\text{T}}} }}{{s_{{{\text{max}}}}^{{\text{T}}} }}} \right)_{{\text{Woven bag}}} \cdot \left( {\frac{{l^{{\text{T}}} }}{{l_{{{\text{max}}}}^{{\text{T}}} }}} \right)_{{{\text{Iron wire}} \& {\text{Block}}}}$$
(23)

OcB-MTAM

The OcB-MTAM includes the environment state, multi-manipulator equilibrium operator, scheduling rules of multi-manipulator, and state transition function. The calculation process is as follows.

$$\left\{ {\begin{array}{*{20}l} {\left\{ {{\varvec{E}}_{{{\text{soe}}}} \left( {T_{{{\text{sys}}}} + T_{{{\text{step}}}} } \right){|}{\varvec{E}}_{{{\text{soe}}}} \left( {T_{{{\text{sys}}}} } \right),T_{{{\text{step}}}} } \right\}} \hfill \\ {{\varvec{E}}_{{{\text{soe}}}} = f\left( {{\varvec{E}}_{{\text{s}}} ,{\varvec{E}}_{{\text{o}}} ,{\varvec{E}}_{{\text{e}}} } \right)} \hfill \\ {M_{j} = M_{{M_{{{\text{lab}}}} \left( {n_{{{\text{lab}}}} } \right)}} } \hfill \\ {\left\{ {T_{i} {|}R_{j} ,M_{j} } \right\}} \hfill \\ \end{array} } \right.$$
(24)

Environmental state

The environmental state is described by the matching matrix, the optimal capacity matrix, and the benefit matrix. The number of heterogeneous manipulators is set to m, the number of tasks is set to n, and the description of the environment state is as follows.

According to the matching results of the j-th robot picking and placing the i-th task, the matching matrix Es is established.

$${\varvec{E}}_{{\text{s}}} \left[ {s_{ji} } \right] = \left[ {\begin{array}{*{20}c} {\begin{array}{*{20}c} {\begin{array}{*{20}c} {\begin{array}{*{20}c} {s_{11} } \\ \vdots \\ \end{array} } \\ {\begin{array}{*{20}c} {s_{j1} } \\ \vdots \\ {s_{{{\text{m}}1}} } \\ \end{array} } \\ \end{array} } & {\begin{array}{*{20}c} {\begin{array}{*{20}c} \ldots \\ \ddots \\ \end{array} } \\ {\begin{array}{*{20}c} \ldots \\ \ddots \\ \ldots \\ \end{array} } \\ \end{array} } \\ \end{array} } & {\begin{array}{*{20}c} {\begin{array}{*{20}c} {\begin{array}{*{20}c} {s_{1i} } \\ \vdots \\ \end{array} } \\ {\begin{array}{*{20}c} {s_{ji} } \\ \vdots \\ {s_{{{\text{m}}i}} } \\ \end{array} } \\ \end{array} } & {\begin{array}{*{20}c} {\begin{array}{*{20}c} \ldots \\ \ddots \\ \end{array} } \\ {\begin{array}{*{20}c} \ldots \\ \ddots \\ \ldots \\ \end{array} } \\ \end{array} } & {\begin{array}{*{20}c} {\begin{array}{*{20}c} {s_{{1{\text{n}}}} } \\ \vdots \\ \end{array} } \\ {\begin{array}{*{20}c} {s_{{j{\text{n}}}} } \\ \vdots \\ {s_{{{\text{mn}}}} } \\ \end{array} } \\ \end{array} } \\ \end{array} } \\ \end{array} } \right] , i = 1,2,3,...,{\text{n}} j = 1,2,3,...,{\text{m}}$$
(25)

The value of optimal capacity function describes the priority between the heterogeneous manipulator and the task category, to establish the optimal capacity matrix Eo.

$${\varvec{E}}_{{\text{o}}} \left[ {o_{ji}^{{{\text{RT}}}} } \right] = \left[ {\begin{array}{*{20}c} {\begin{array}{*{20}c} {\begin{array}{*{20}c} {\begin{array}{*{20}c} {o_{11}^{{{\text{RT}}}} } \\ \vdots \\ \end{array} } \\ {\begin{array}{*{20}c} {o_{j1}^{{{\text{RT}}}} } \\ \vdots \\ {o_{{{\text{m}}1}}^{{{\text{RT}}}} } \\ \end{array} } \\ \end{array} } & {\begin{array}{*{20}c} {\begin{array}{*{20}c} \ldots \\ \ddots \\ \end{array} } \\ {\begin{array}{*{20}c} \ldots \\ \ddots \\ \ldots \\ \end{array} } \\ \end{array} } \\ \end{array} } & {\begin{array}{*{20}c} {\begin{array}{*{20}c} {\begin{array}{*{20}c} {o_{1i}^{{{\text{RT}}}} } \\ \vdots \\ \end{array} } \\ {\begin{array}{*{20}c} {o_{ji}^{{{\text{RT}}}} } \\ \vdots \\ {o_{{{\text{m}}i}}^{{{\text{RT}}}} } \\ \end{array} } \\ \end{array} } & {\begin{array}{*{20}c} {\begin{array}{*{20}c} \ldots \\ \ddots \\ \end{array} } \\ {\begin{array}{*{20}c} \ldots \\ \ddots \\ \ldots \\ \end{array} } \\ \end{array} } & {\begin{array}{*{20}c} {\begin{array}{*{20}c} {o_{{1{\text{n}}}}^{{{\text{RT}}}} } \\ \vdots \\ \end{array} } \\ {\begin{array}{*{20}c} {o_{{j{\text{n}}}}^{{{\text{RT}}}} } \\ \vdots \\ {o_{{{\text{mn}}}}^{{{\text{RT}}}} } \\ \end{array} } \\ \end{array} } \\ \end{array} } \\ \end{array} } \right] , i = 1,2,3,...,{\text{n}} j = 1,2,3,...,{\text{m}}$$
(26)

The benefit value of the j-th manipulator picking and placing the i-th task is expressed as eRTji. The representation of the benefit matrix Ee is as follows.

$${\varvec{E}}_{{\text{e}}} \left[ {e_{ji}^{{{\text{RT}}}} } \right] = \left[ {\begin{array}{*{20}c} {\begin{array}{*{20}c} {\begin{array}{*{20}c} {\begin{array}{*{20}c} {e_{11}^{{{\text{RT}}}} } \\ \vdots \\ \end{array} } \\ {\begin{array}{*{20}c} {e_{j1}^{{{\text{RT}}}} } \\ \vdots \\ {e_{m1}^{{{\text{RT}}}} } \\ \end{array} } \\ \end{array} } & {\begin{array}{*{20}c} {\begin{array}{*{20}c} \ldots \\ \ddots \\ \end{array} } \\ {\begin{array}{*{20}c} \ldots \\ \ddots \\ \ldots \\ \end{array} } \\ \end{array} } \\ \end{array} } & {\begin{array}{*{20}c} {\begin{array}{*{20}c} {\begin{array}{*{20}c} {e_{1i}^{{{\text{RT}}}} } \\ \vdots \\ \end{array} } \\ {\begin{array}{*{20}c} {e_{ji}^{{{\text{RT}}}} } \\ \vdots \\ {e_{mi}^{{{\text{RT}}}} } \\ \end{array} } \\ \end{array} } & {\begin{array}{*{20}c} {\begin{array}{*{20}c} \ldots \\ \ddots \\ \end{array} } \\ {\begin{array}{*{20}c} \ldots \\ \ddots \\ \ldots \\ \end{array} } \\ \end{array} } & {\begin{array}{*{20}c} {\begin{array}{*{20}c} {e_{1n}^{{{\text{RT}}}} } \\ \vdots \\ \end{array} } \\ {\begin{array}{*{20}c} {e_{jn}^{{{\text{RT}}}} } \\ \vdots \\ {e_{mn}^{{{\text{RT}}}} } \\ \end{array} } \\ \end{array} } \\ \end{array} } \\ \end{array} } \right] , i = 1,2,3,...,{\text{n}} j = 1,2,3,...,{\text{m}}$$
(27)

where, the environment state value of j-th manipulator sorting i-th task is oji,RT.

Elements of the benefit matrix Ee[eRTji]  [0, 1]. Elements of the optimal capacity matrix Eo[oRTji] > 0. Elements of the matching matrix Es[sji] is Boolean value. First, the matrix addition of Ee and Eo. The Hadamard product of the obtained matrix and Es is environment state matrix Esoe.

$${\varvec{E}}_{{{\text{soe}}}} = f\left( {{\varvec{E}}_{{\text{s}}} ,{\varvec{E}}_{{\text{o}}} ,{\varvec{E}}_{{\text{e}}} } \right) = {\varvec{E}}_{{\text{s}}} \otimes \left( {{\varvec{E}}_{{\text{o}}} + {\varvec{E}}_{{\text{e}}} } \right)$$
(28)

Scheduling rules of multi-manipulator

First-come-first-out (FIFO), benefit first (BF), and shortest processing time (SPT) are the partial scheduling rules. The details are described as follows26,27.

$$\left\{ {\begin{array}{*{20}l} {\left\{ {{\text{T}}_{i} {\text{|R}}_{j} ,{\text{M}}_{j} } \right\}} \hfill & {} \hfill \\ {min\left\{ i \right\} \Rightarrow T_{i} , {\text{R}}_{j} = FIFO} \hfill & {} \hfill \\ {max\left\{ {e_{ji}^{{{\text{RT}}}} {|}o_{j}^{{\text{R}}} ,o_{i}^{{\text{T}}} ,k_{1} = 0,k_{2} = 1} \right\} \Rightarrow T_{i} , {\text{R}}_{j} = BF,} \hfill & { k_{1} + k_{2} = 1} \hfill \\ {max\left\{ {e_{ji}^{{{\text{RT}}}} {|}o_{j}^{{\text{R}}} ,o_{i}^{{\text{T}}} ,k_{1} = 1,k_{2} = 0} \right\} \Rightarrow T_{i} , {\text{R}}_{j} = SPT} \hfill & {} \hfill \\ \end{array} } \right.$$
(29)

where the scheduling rule of the j-th robot is Rj.

Multi-manipulator equalization operator

When the number of tasks is greater than the number of manipulators, the roulette wheel method is used for random allocation. Each task has the same probability of being selected. The correction of the matching results is as follows.

$$\left\{ {\begin{array}{*{20}l} {{\text{M}}_{j} = {\text{M}}_{{M_{{{\text{lab}}}} \left( {n_{{{\text{lab}}}} } \right)}} } \hfill & {} \hfill \\ {{\text{M}}_{{{\text{lab}}}} = find\left( {{\varvec{E}}_{s} \left[ {s_{j*} } \right] = = 1} \right),} \hfill & {\left( {\mathop \sum \limits_{i} s_{ji} \ge 1{|} o_{j}^{{\text{R}}} } \right)} \hfill \\ {n_{{{\text{lab}}}} = randi\left( {\mathop \sum \limits_{i} s_{ji} ,1} \right)} \hfill & {} \hfill \\ \end{array} } \right.$$
(30)

State transition function

The iteration of the environment state can be regarded as a Markov process20. This paper uses a fixed time step to design the state transition function of the environment state. In this way, the manipulator state avoids being busy all the time, or the arrival time interval is too large to affect the solution process of the MTAM.

$$\left\{ {{\varvec{E}}_{{{\text{soe}}}} \left( {T_{{{\text{sys}}}} + T_{{{\text{step}}}} } \right){|}{\varvec{E}}_{{{\text{soe}}}} \left( {T_{{{\text{sys}}}} } \right),T_{{{\text{step}}}} } \right\} , \left\{ {T_{{{\text{sys}}}} = 0{|}i = 1} \right\}$$
(31)

where, the CFoSR uptime is Tsys, in s. The fixed time step of the environment state iteration is Tstep, in s.

Combined rule strategy based on genetic algorithm

According to FIFO, BF, and SPT to form the scheduling rule set, when the number of manipulators in the CFoSR is m, the coding of the manipulators is defined as follows.

$$\left\{ {\begin{array}{*{20}l} {x = \left[ {s_{1} ,{ }s_{2} ,{ } \cdots ,{ }s_{m} } \right] , s_{i} \in \Phi } \hfill \\ {\Phi = \left\{ {1\left( {{\text{FIFO}}} \right),{ }2\left( {{\text{BF}}} \right),{ }3\left( {{\text{SPT}}} \right)} \right\}} \hfill \\ \end{array} } \right.$$
(32)

The fitness function is designed according to the TIR, TCSR, and RUR.

$$F\left( {\mathbf{x}} \right) = w_{1} \cdot {\text{TIR}} + w_{2} \cdot {\text{TCSR}} + w_{3} \cdot {\text{RUR }},{ }w_{1} + w_{2} + w_{3} = 1$$
(33)

The Selection operator adopts Tournament Selection strategy. Set the population set P = {x1, x2, …, xn}, and randomly select k individuals to form the candidate set TjGA for the j-th tournament. According to the no-replacement sampling strategy, the individual with the highest fitness among them is selected. The mapping function S is chosen as follows.

$${\text{S}}:{\text{P}} \to {\text{P}}^{{\left( {{\text{new}}} \right)}} ,{\text{ S}}\left( {\text{P}} \right) = \left\{ {{\mathbf{x}}_{i}^{*} {|}{\mathbf{x}}_{i}^{*} = {\text{arg}}\mathop {\max }\limits_{{{\mathbf{x}} \in {\text{T}}_{j}^{{{\text{GA}}}} }} F\left( {\mathbf{x}} \right),{\text{ T}}_{j}^{{{\text{GA}}}} \in {\text{P}}} \right\}_{j = 1}^{{\left| {\text{P}} \right|}}$$
(34)

The Crossover operator is a Single-Point crossover. Generation the offspring of parent individuals p1, p2. Where the crossover point q follows the distribution U[1, N-1], then the exchange process of gene segments is as follows.

$$\left\{ {\begin{array}{*{20}c} {c_{1} = \left[ {p_{1}^{{\left( {1:q} \right)}} ,p_{2}^{{\left( {q + 1:N} \right)}} } \right]} \\ {c_{2} = \left[ {p_{2}^{{\left( {1:q} \right)}} ,p_{1}^{{\left( {q + 1:N} \right)}} } \right]} \\ \end{array} } \right.$$
(35)

The probability of the crossover operation is controlled as follows.

$${\text{P}}_{{\text{r}}} \left( {{\text{crossover}}} \right) = \left\{ {\begin{array}{*{20}l} {1, } \hfill & { r \le P_{c} } \hfill \\ {0, } \hfill & {otherwise} \hfill \\ \end{array} } \right.$$
(36)

where, r ~ U (0, 1), Pc is the preset crossover probability.

The directional mutation strategy is used to avoid the generation of invalid solutions. Then the i-th allele of any individual x is described as follows.

$$\left\{ {\begin{array}{*{20}l} {{\text{P}}_{{\text{r}}} \left( {{\text{mutation}}} \right) = } \hfill & {P_{m} \cdot \frac{1}{N}\mathop \sum \limits_{i = 1}^{N} \delta \left( {{\mathbf{x}}_{i} , {\mathbf{x}}_{i}^{`} } \right)} \hfill \\ {} \hfill & {{\mathbf{x}}_{i}^{`} \sim U\left( {\Phi_{i}^{`} } \right)} \hfill \\ {} \hfill & {\Phi_{i}^{`} = \Phi \backslash \left\{ {{\mathbf{x}}_{i} } \right\}} \hfill \\ \end{array} } \right.$$
(37)

where δ (a, b) is the Kronecker delta function.

According to the elite retention strategy, the best individuals of the t-th generation population are retained to prevent population degradation.

$${\text{P}}_{t + 1} \leftarrow {\text{P}}_{t} \cup \left\{ {{\mathbf{x}}_{t}^{*} } \right\}{ },{ }{\mathbf{x}}_{t}^{*} = {\text{arg}}\mathop {\max }\limits_{{{\mathbf{x}} \in {\text{P}}_{t} }} F\left( {\mathbf{x}} \right)$$
(38)

Figure 4 the flowchart of GA based combination rule strategy shows the flowchart of GA based combination rule strategy (GACRS).

Fig. 4
figure 4

The flowchart of GA based combination rule strategy.

Firstly, the weights of the fitness function is set according to the coal foreign object sorting demand or preference of the scene where the CFoSR is located. Then, the heterogeneous multi-manipulator module is set according to the number of manipulators in CFoSR, the heterogeneous manipulator configuration, and the rated load of Robot II. When the belt speed and the coal flow upper limit are known, the coal foreign objects of the time-varying raw coal flow are sampled to obtain the task queue information. Finally, GACRS is used to solve the optimal fitness value of OcB-MTAM. Among them, the population size needs to be larger than the number of scheduling rules to improve the diversity and reduce the computational cost. The crossover probability is chosen considering the number of scheduling rules; too high will destroy the gene pattern, and too low will reduce the search efficiency. On the premise of not degenerate into random search, the mutation probability is maximized as much as possible.

Experiment and result analysis

Simulation experiment

Simulation environment of the CFoSR

Figure 5 simulation environment of the CFoSR shows simulation environment of the CFoSR. The scene of CFoSR is known, and the coal foreign object distribution of TVRCF is regular. The CFoSR simulation was carried out according to the CFoSR experimental platform. The kinematics of the CFoSR describes the coordinate transformation relationship between the coal foreign object and the manipulator. On this basis, OcB-MTAM is used to analyze the mechanism of scheduling rules, heterogeneous manipulator, belt speed and coal flow upper limit on the multi-task allocation results. The simulated coal foreign object data are used to verify the superiority of the proposed GACRS in solving multiple evaluation indexes.

Fig. 5
figure 5

Simulation environment of the CFoSR.

According to the coal foreign object distribution of TVRCF in Subsection “Mathematical model of the multi-task allocation problem”, this paper adopts the TVRCF decomposition method to obtain the arrival time interval, mass value and position coordinates of gangue20. The gangue granularity ranges from 50 to 300 mm. For example, the generation sequence of gangue is Gangue (Tk1), where k1 = 1, 2, …, N1. On this basis, considering the environmental mixing randomness of the sundry, this paper improved the TVRCF decomposition method and added the simulation process of sundry. For example, the generation sequence of sundry is Sundry (Tk2), where k2 = 1, 2, …, N2. The union of Gangue (Tk1) and Sundry (Tk2) is CFo (Ti).

The arrival time tk2 of the Sundry (Tk2) is randomly generated at the CFoSR uptime Tend. Then the generation process of N2 sundries is as follows.

$$t_{{k_{2} }} = \frac{{rand\left( {0, 1000 \cdot {\text{T}}_{{{\text{end}}}} } \right)}}{1000} , k_{2} = 1,2,...,N_{2}$$
(39)

The arrival time array of gangue is calculated by the X-axis coordinate value of gangue and the belt speed, and the arrival time array of coal foreign object is obtained by combining the arrival time array of sundry. Bubble Sort is used to sort coal foreign objects (Including Gangue (Tk1) and Sundry (Tk2)) from small to large according to arrival time. Then, the arrival time interval of coal foreign object is inversely calculated by the arrival time array of coal foreign object. The X-axis coordinate value of coal foreign object was calculated with belt speed.

The key physical features of sundries are formed by multiple independent small factors such as personnel, production and waste, and follow normal distribution. The area of the woven bag ranges from 0.0025 m2 to 0.09 m2, and the symbol is sTk2. The length of the iron wire and wood block ranges from 50 to 300 mm, and the symbol is lTk2. The specific calculation process is as follows.

$$\left\{ {\begin{array}{*{20}c} {s_{{k_{2} }}^{{\text{T}}} = \mu_{2} \cdot s_{{{\text{max}}}}^{{\text{T}}} + \sigma \cdot Z} \\ {l_{{k_{2} }}^{{\text{T}}} = \mu_{2} \cdot l_{{{\text{max}}}}^{{\text{T}}} + \sigma \cdot Z} \\ \end{array} } \right.$$
(40)

where, Z is a standard normal distributed random function. μ2 is the mean and is set to 0.5. σ is the standard deviation and is set to 80.

Parameter setting

MATLAB R2021b implements the simulation of the algorithm. The setting parameters of CFoSR are shown in Table 1. Setting parameters of CFoSR.

Table 1 Setting parameters of CFoSR.

Experiments on multi-task allocation in OcB-MTAM

OcB-MTAM is used to analyze the mechanism of scheduling rules, heterogeneous manipulator, belt speed and coal flow upper limit on the multi-task allocation results. TIR, TCSR and RUR are used to analyze the multi-task allocation results of OcB-MTAM. The scene change of CFoSR will affect the coal foreign object distribution, and the mean and standard deviation are used for evaluation in this paper.

The mean is calculated as follows.

$${\text{Mean}} = \frac{1}{n}\sum Value$$
(41)

The standard deviation is calculated as follows.

$${\text{SD}} = \sqrt {\frac{1}{n}\sum \left[ {Value - Mean} \right]^{2} }$$
(42)

The number of manipulators is large, and RURm is used to describe the mean value of RUR. RURs is the standard deviation of RUR, which describes the stability of RUR.

  1. (1)

    Experiment 1: OcB-MTAM experiment based on scheduling rules

Generally, the belt speed of manual gangue selection is 0.5 m/s. The belt speed is set to 0.5 m/s. The coal flow upper limit is set to 80 kg/s, the symbol is Qmax. The CFoSR uptime is set to 300 s, and the throughput of TVRCF is 21.95t. Among them, the gangue content is 23%. The sundry content is 2%. Figure 6 (a) task set is the CFo of TVRCF. Figure 6 (b) task set is the task queue information.

Fig. 6
figure 6

Task set.

The task set of Fig. 6 task set contains 481 coal foreign objects. According to the work capacity of the manipulators, the gangue sorting manipulator can pick and place Task I and Task II. The sundry sorting manipulator can pick and place Task II and Task III. Table 2 Detailed information of the task set is the detailed information of the task set.

Table 2 Detailed information of the task set.

The heterogeneous multi-manipulator module is equipped with at least one gangue sorting manipulator (Robot I) and one sundry sorting manipulator (Robot II). In experiment 1, the heterogeneous multi-robot module with 2 robots is discussed. Robot II is a locally constrained multi-capability. The rated load mR of Robot II is set to 2 kg. The permutation of scheduling rules between Robot I and Robot II is not discussed. The examples of scheduling rules combination based on OcB-MTAM are shown in Table 3. Examples of scheduling rules combination based on PcAB-MTAM.

Table 3 Examples of scheduling rules combination based on PcAB-MTAM.

In Ex.2–1 of Table 3. Examples of scheduling rules combination based on PcAB-MTAM. 2 represents the number of manipulators, and 1 represents the sequence number of the scheduling rules combination.

Figure 7 multi-task allocation results of examples presents the multi-task allocation results for the examples in Table 3. Examples of scheduling rules combination based on PcAB-MTAM. In this paper, three dimensions are chosen to discuss the multi-task allocation results: the X-axis coordinates of task allocation, the arrival time interval of task, and the benefit rate of task.

Fig. 7
figure 7

Multi-task allocation results of examples.

Figure 7 (a) multi-task allocation results of examples shows the result of multi-task allocation in Ex.2–1. Task I of Robot I is largely lost, the X-axis coordinates of several Robot I-Task II are close to 0 mm, and the X-axis coordinates of large number Robot I-Task II are close to 2500 mm. Because Robot I uses the FIFO rule, it will give priority to the task with the smallest sequence number. The X-axis coordinates of Robot II-Task II and Robot II-Task III are close to 0 mm. Although Robot II also uses the FIFO rule, the speed and acceleration are better than Robot I. The analysis results show that the action mechanism of FIFO rule is highly dependent on the manipulator performance, but is not sensitive to the task category and its benefit rate.

Figure 7 (e) multi-task allocation results of examples shows the result of multi-task allocation in Ex.2–5. The X-axis coordinates of small number Robot I-task I are close to 2500 mm, the several are distributed at 1200 mm, and the large number are close to 0 mm. No Task II is allocated to Robot I. Because Robot I adopts the BF rule, it will give priority to task with larger benefit rate. The X-axis coordinate distribution of Robot II-Task II and Robot II-Task III, as well as the corresponding proportion of the number are the similar as Robot I-Task I. The analysis results show that the action mechanism of BF rule is less dependent on the manipulator performance, but is extremely sensitive to the task category and its benefit rate.

Figure 7 (i) multi-task allocation results of examples shows the result of multi-task allocation in Ex.2–9. The X-axis coordinates of the assigned tasks are distributed at 0 mm and 2500 mm, because both Robot I and Robot II adopt the SPT rule, and will give priority to task with the smallest sorting time. Among the lost tasks, the proportion of tasks with large arrival time interval is very small. Among the allocated tasks, the proportion of tasks with small arrival time interval is very small. The analysis results show that the action mechanism of SPT rule is less dependent on the manipulator performance, but is extremely sensitive to the arrival rate and position distribution of task.

Table 4 The TIR, TCSR, RURm, and RURs of examples shows the TIR, TCSR, RURm, and RURs of examples. Robot II uses the FIFO in Ex.2–7, but uses the SPT in Ex.2–9. Robot I uses SPT in Ex.2–7 and Ex.2–9. The TIR and TCSR of Ex.2–9 is larger than Ex.2–7, because of the superiority of SPT rule. The RURm of Ex.2–7 is large than Ex.2–9, because the FIFO rule increases the sorting time. The RURs of Ex.2–9 is large than Ex.2–7, because the RUR difference between Robot I and Robot II increases. In all examples, Ex.2–9 has best TIR and TCSR. TIR varied from 22.29% to 74.65%, the mean is 49.67%, the standard deviation is 21.21. TCSR varied from 30.15% to 77.34%, the mean is 53.18%, the standard deviation is 18.99. TIR varied from 68.36% to 72.55%, the mean is 70.12%, the standard deviation is 1.19. TIR varied from 37.76% to 43.29%, the mean is 41.15%, the standard deviation is 1.76. This indicates that differences in the scheduling rules combination mainly affect TIR and TCSR of multi-task allocation results, and have some influence on RUR, but to a limited extent.

Table 4 The TIR, TCSR, RURm, and RURs of examples.
  1. (2)

    Experiment 2: OcB-MTAM experiment based on heterogeneous manipulator

The belt speed is set to 0.5 m/s. The Qmax is set to 100 kg/s. The CFoSR uptime is set to 300 s. 5 groups of TVRCF were generated, and the throughput is 27.93t, 27.94t, 28.01t, 27.98t, and 27.85t, respectively. Among them, each TVRCF group generated 2 task sets, and a total of 10 task sets were experimented with. Table 5 Detailed information of 10 task set describes the detailed information of 10 task sets.

Table 5 Detailed information of 10 task sets.

To discuss the influence of the manipulator number on OcB-MTAM, the optimal scheduling rules combination in Experiment 1 is selected. The gangue is a secondary product of coal production, the heterogeneous manipulator configuration does not discuss the case where the Robot II number is larger than the Robot I number. The rated load mR of Robot II is set to 3 kg. The examples of the heterogeneous multi-manipulator module are shown in Table 6. Examples of the heterogeneous multi-robot module.

Table 6 Examples of the heterogeneous multi-robot module.

The multi-task allocation results of heterogeneous manipulators are analyzed by TCSR-Mean, TIR-Mean, RURm-Mean, and RURs-Mean. RURm-Mean means that the mean RUR (RURm) of each heterogeneous multi-manipulator module example is calculated first, and then the mean RURm of 10 task queues is calculated. Similarly, RURs-Mean can be obtained. Figure 8 the Mean value of evaluation indexes in examples illustrates the mean value of the evaluation indexes for the examples in Table 6. Examples of the heterogeneous multi-robot module.

Fig. 8
figure 8

The Mean value of evaluation indexes in examples.

According to the same number of Robot I and Robot II, increase one by one. Ex.1, Ex.4, and Ex.9 were control group 1. According to the law of one more Robot I than Robot II, increase one by one. Ex.2 and Ex.6 are control group 2. According to the law of two more Robot I than Robot II, increase one by one. Ex.3 and Ex.8 are control group 3. In each control group, as the number of manipulators increases, TCSR-Mean and TIR-Mean steadily increase, RURm-Mean steadily decreases. The order of increase and decrease rates from large to small is control group 3, control group 2 and control group 1. This shows that increasing the number of manipulators can improve the multi-task allocation results, but also cause manipulator idleness.

In Ex.1, Ex.2, Ex.3, Ex.5, and Ex.7 of Fig. 8 the Mean value of evaluation indexes in examples, the number of Robot II is constant, and the number of Robot I is increased one by one. The TCSR-Mean and TIR-Mean of Ex.5 and Ex.7 are the same, but the RURm-Mean of Ex.7 decreases. This indicates that Ex.5 is the optimal number of robots. Ex.7 Increasing the number of Robot I will only cause more manipulators to be idle. This indicates that unreasonably increasing the number of manipulators cannot improve the multi-task allocation results, without considering the task category and its number proportion. This will just leave the manipulator idle.

In Ex.3 and Ex.4 of Fig. 8 the Mean value of evaluation indexes in examples, the heterogeneous multi-robot module examples have the same number of robots, but the number proportion of Robot I and Robot II is different. The TCSR-Mean, TIR-Mean, and RURm-Mean of Ex.4 are reduced. Figure 9 evaluation indexes for examples in different task sets illustrates the evaluation indexes for examples in different task sets.

Fig. 9
figure 9

Evaluation indexes for examples in different task sets.

According to Table 6 examples of the heterogeneous multi-robot module, the number of Robot I and Robot II in Ex.3 is 3 and 1, respectively. The number of Robot I and Robot II of Ex.4 are 2 and 2, respectively. Therefore, in Fig. 9 (a) evaluation indexes for examples in different task sets, RUR-Rob3 describes Robot I. In Fig. 9 (b) evaluation indexes for examples in different task sets, RUR-Rob3 describes Robot II. RUR-Rob1 and RUR-Rob2 in Fig. 9 (b) evaluation indexes for examples in different task sets are significantly larger than RUR-Rob1, RUR-Rob2, and RUR-Rob3 in Fig. 9 (a) evaluation indexes for examples in different task sets. This is because the number of Robot I is reduced and the RUR of the manipulator will increase. In addition, Fig. 9 (c) evaluation indexes for examples in different task sets and Fig. 9 (d) evaluation indexes for examples in different task sets show the multi-task allocation results for task set 8 in Ex.3 and Ex.4, respectively. In Fig. 9 (d) evaluation indexes for examples in different task sets, the lost Task I of Robot I increases. In Fig. 9 (c) evaluation indexes for examples in different task sets, Task II and Task II of Robot II are all picked and placed. This is the reason why the TCSR and TIR of Ex.4 are lower than those of Ex.3. Without considering the task category and its number proportion, unreasonably increasing the number of heterogeneous manipulators cannot improve the multi-task allocation results, and will only cause manipulators to be idle.

The results of Experiment 2 show that the number of manipulators is properly configured such that larger TCSR-Mean and TIR-Mean are better, and smaller RURm-Mean and RURs-Mean are better.

  1. (3)

    Experiment 3: OcB-MTAM experiment based on scenes.

The belt speed and the coal flow upper limit are different for different scenes where CFoSR is located. The belt speed are 0.2 m/s, 0.6 m/s, and 1.0 m/s, respectively. The coal flow upper limit are 70 kg/s, 90 kg/s, and 110 kg/s, respectively. Under the fixed belt speed and coal flow upper limit, 10 task sets are generated. Among them, the gangue content is set to 27.11%, the sundry content is set to 4%. The rated load of Robot II is set to 5 kg. According to Table 7 gangue number in task set of scenes and working conditions, when CFoSR uptime is set to 800 s, the OcB-MTAM of 90 task sets are needed to experiment.

Table 7 Gangue number in task set of scenes and working conditions.

Ex.4 of Table 6 examples of the heterogeneous multi-robot module is selected for this experiment to solve the multi-task allocation results of OcB-MTAM. TIR, TCSR, and RURm are the evaluation indices for multi-task allocation results.

Figure 10 RURm, TCSR, and TIR of examples shows that TCSR, TIR and RURm are linearly negatively correlated with belt speed, TIR and TCSR are linearly negatively correlated with coal flow upper limit, and RURm is linearly positively correlated with coal flow upper limit. When the coal flow upper limit increases, TIR and TCSR decrease according to the trend of gradually increasing difference, and RURm increases according to the arithmetic difference. When the belt speed increases, TIR and TCSR decrease according to the trend of gradually increasing difference, and RURm decreases according to the trend of gradually decreasing difference.

Fig. 10
figure 10

RURm, TCSR, and TIR of examples.

Experiments on multi-task allocation in GACRS

The GACRS of this paper is compared with GAW20, and the optimal fitness value based on multiple evaluation indexes is analyzed. The belt speed is set to 0.5 m/s. The coal flow upper limit is set to 110 kg/s. CFoSR uptime is set to 50 s. The task set information of the coal foreign object generated by simulation is shown in Table 8. Task set information of coal foreign objects. The number of manipulators is set to 3, the number of Robot I is set to 2, and the number of Robot II is set to 1. The benefit weights of GAW is k1 and k2, the initial value of k1 is set to 0, and the iteration step is 0.05. The parameters of GACRS is set to: the population size is 10, the maximum number of iterations is 21, the crossover probability is 0.8, the mutation probability is 0.1, and the tournament selection size is 3. The weights [w1, w2, w3] of the fitness function are [0.5, 0.3, 0.2].

Table 8 Task set information of coal foreign objects.

Figure 11 the fitness value optimization process of the multi-task allocation shows the fitness value optimization process of the multi-task allocation. The optimal fitness value of GACRS is 0.7773, the optimal fitness value of GAW is 0.6232, The optimal fitness value of GACRS is 24.73% higher than that of GAW.

Fig. 11
figure 11

The fitness value optimization process of the multi-task allocation.

To better illustrate the solution superiority of GACRS for multi-evaluation indexes multi-task allocation, Fig. 12 multi-task allocation results of the optimal fitness value shows the multi-task allocation results of the optimal fitness value.

Fig. 12
figure 12

Multi-task allocation results of the optimal fitness value.

In Fig. 12 (b) multi-task allocation results of the optimal fitness value, The multi-task allocation result of GAW has the loss of Task I and Task II. In Fig. 12 (a) multi-task allocation results of the optimal fitness value, The multi-task allocation result of GACRS only has the loss of Task I. The number of Robot I-Task I in the multi-task allocation result of GACRS is significantly more than that in GAW. The comparative analysis shows that the GACRS has significant advantages for coal foreign object sorting.

CFoSR platform experiment

Table 9 parameters of CFoSR experimental platform shows the parameters of the 2 manipulators in the CFoSR experimental platform.

Table 9 Parameters of CFoSR experimental platform.

Figure 13 diagram of the CFoSR experimental platform is the CFoSR experimental platform. Refer to the detailed description of Fig. 1 the multi-task allocation process of CFoSR in Subsection “MTAM of CFoSR”, and will not be repeated here. The number of manipulators is 2, one Robot I and one Robot II.

Fig. 13
figure 13

Diagram of the CFoSR experimental platform.

In coal foreign object sorting, there are coal, gangue, woven bag, iron wire and wood block in the raw coal flow. The belt speed is adjusted by the frequency converter of the belt conveyor, and the raw coal flow under 6 groups of different belt speed conditions is randomly input. Figure 14 the 6 task sets of coal foreign objects shows the 6 task sets of coal foreign objects. Figure 14 (a) the 6 task sets of coal foreign objects contains all kinds of coal foreign objects. Figure 14 (b) the 6 task sets of coal foreign objects and Fig. 14 (c) the 6 task sets of coal foreign objects contain gangue, iron wire, and wood block. Figure 14 (d) the 6 task sets of coal foreign objects contains wood blocks and gangue. Figure 14 (e) the 6 task sets of coal foreign objects contains iron wire and gangue. Figure 14 (f) the 6 task sets of coal foreign objects contains woven bags and gangue.

Fig. 14
figure 14

The 6 task sets of coal foreign objects.

Table 10 task queue information of Task set 1 presents the task queue information for Task set 1.

Table 10 Task queue information of Task set 1.

The parameter settings of GAW and GACRS are unchanged. Figure 15 the fitness value optimization process of the multi-task allocation for Task set 1 shows the fitness value optimization process of the multi-task allocation for Task set 1. The optimal fitness value of GACRS is 0.9598, the optimal fitness value of GAW is 0.7138, The optimal fitness value of GACRS is 24.6% higher than that of GAW.

Fig. 15
figure 15

The fitness value optimization process of the multi-task allocation for Task set 1.

Figure 16 multi-task allocation results of the optimal fitness value shows the multi-task allocation results of the optimal fitness value. Figure 16 (a) multi-task allocation results of the optimal fitness value shows the multi-task allocation results of GACRS. T2 and T5 are allocated to Robot I. T1, T3, and T4 are allocated to Robot II. According to Table 10 task queue information of Task set 1, although Robot II meets the required work capability of T5, T5 is not executed. This indicates that GACRS has good adaptability to task categories and their number proportions. Figure 16 (b) multi-task allocation results of the optimal fitness value shows the multi-task allocation results of GAW. The sequence of tasks sorted by Robot I does not change, but the allocation of T1 and T3 by Robot II is different. When there are two tasks in the Robot II workspace at the same time, because the Y-axis coordinate value of T1 is larger than that of T3, and the benefit rate is smaller than that of T3, T1 is not allocated in time and the T1 is lost. GAW is difficult to balance the number and benefit of allocated tasks.

Fig. 16
figure 16

Multi-task allocation results of the optimal fitness value.

In order to further verify the solution stability of GACRS for multi-evaluation indexes and multi-task allocation, the Task set 2 to Task set 6 of raw coal flows are taken as input to compare and analyze the optimal fitness values.

Figure 17 the solution stability comparison of multi-task allocation is the solution stability comparison of multi-task allocation. The optimal fitness value of GACRS is always larger than GAW, which shows good stability, and relative increase is 14.02%.

Fig. 17
figure 17

The solution stability comparison of multi-task allocation.

Conclusion

It is difficult to study the multi-evaluation index multi-task allocation of CFoSR for coal foreign object with multiple kinds, complex features and strong spatio-temporal randomness. In this paper, the OcB-MTAM of CFoSR is constructed, and the GACRS considering the total mass of gangue sorting and the total number of sundry sorting are proposed. A multi-task allocation model and its solution method are provided for CFoSR with diversified manipulators and complex tasks, and the comprehensive income of coal foreign object sorting is improved.

  1. (1)

    The multi-task allocation experiments of OcB-MTAM are carried out by FIFO, BF and SPT. Experiment 1 shows that the FIFO has a large dependence on the velocity and acceleration of the manipulator, and the solution results have lower TIR and TCSR, but higher RUR. BF is extremely sensitive to the benefit rate of the task, and even ignores the sorting time of the manipulator, and the solution results are better than FIFO. SPT is extremely sensitive to the arrival time interval and position coordinates of the task, and the TIR and TCSR of the solution results are better than BF, because the number of allocated tasks increases. The scheduling rules mainly improve TIR and TCSR, and have little impact on RUR. Experiment 2 shows that the reasonable configuration of heterogeneous multi-manipulator module can improve the multi-task allocation result of CFoSR. As the manipulator number increases, the improvement of multi-task allocation result decreases rapidly, and the idle time of the manipulator increases. Experiment 3 shows that TIR and TCSR are linearly and negatively related to the belt speed and the coal flow upper limit. RUR is linearly negatively correlated with belt speed, but linearly positively correlated with the coal flow upper limit. Obviously, the scenario of CFoSR located is the premise to discuss the multi-task allocation problem of coal foreign object. In addition, the improvement of multi-task allocation results by scheduling rules and heterogeneous manipulator is independent. The above action mechanisms provide a theoretical basis for coal foreign object sorting.

  2. (2)

    The optimal fitness value of GACRS and GAW in multi-evaluation index multi-task allocation was compared by considering the influence of scheduling rules combination and benefit weights on the multi-task allocation result. In the CFoSR simulation environment, the optimal fitness value solved by GACRS is 24.73% higher than that solved by GAW. In the CFoSR experimental platform, the optimal fitness value solved by GACRS is 24.6% higher than that solved by GAW. For the task sets of different raw coal flows, the average value of optimal fitness solved by GACRS is 14.02% higher than that of GAW. The GACRS presented in this paper is superior and stable for solving multi-evaluation index multi-task allocation.

  3. (3)

    The development of related key technologies of CFoSR urgently needs the multi-task allocation method of coal foreign object sorting to improve the comprehensive income. Therefore, this paper studied the multi-task allocation model and its solution method for coal foreign object sorting. The OcB-MTAM in this paper considers the multi-capacity of heterogeneous manipulators, but does not deeply discuss the relationship between rated load, speed, acceleration and CFoSR construction cost. Combined with the scheduling rules combination of GACRS, the multi-task allocation scheme of CFoSR will be a new and more complex combinatorial optimization problem. It is significant that GACRS improves the optimal fitness value of multiple evaluation indexes. Industrial applications need to combine deep learning methods to reduce the solution time to meet the requirements of higher belt speed.