Work assignment device, work assignment method, and computer program
The task allocation device optimizes task assignment by considering human and robot workloads and distances, reducing workload inequality and physical interference.
Patent Information
- Application Number
- JP2024128077
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-08-02
- Publication Date
- 2026-02-16
AI Technical Summary
Existing task allocation methods fail to consider the workload of human workers and do not optimize the relationship between human and robot work ranges, leading to potential unequal work times and increased physical interference.
A task allocation device that generates placement position candidates considering human and robot workers, calculates inter-element distances, and optimizes an objective function to minimize workload and equalize work time while reducing physical interference.
The solution effectively reduces workload and equalizes work time among workers by optimizing task assignment and minimizing physical interference between humans and robots.
Smart Images

Figure 2026025371000001_ABST
Abstract
Description
[Technical Field]
[0001] The present invention relates to a task allocation device, a task allocation method, and a computer program. [Background technology]
[0002] Methods for optimizing task allocation, which assigns multiple tasks to each process on a production line, are known (see, for example, Patent Documents 1-6 and Non-Patent Document 1). Among such task allocation methods, there are methods for separately optimizing the assignment of multiple tasks and the scheduling that determines the order in which the tasks are performed, and methods for simultaneously optimizing them. The techniques described in Patent Documents 1 and 5 optimize task assignment and scheduling separately. The techniques described in Patent Document 4 and Non-Patent Document 1 optimize task assignment and scheduling simultaneously. Patent Documents 2, 3, and 6 mention the optimization of task assignment, but do not mention the optimization of scheduling. Furthermore, the methods described in Patent Documents 1-6 and Non-Patent Document 1 differ in the parameters to be optimized and the parameters used for optimization. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Japanese Patent Application Laid-Open No. 2006-171824 [Patent Document 2] Japanese Patent Application Laid-Open No. 2001-005846 [Patent Document 3] Japanese Patent Application Publication No. 2018-097801 [Patent Document 4] Japanese Patent Publication No. 2022-170525 [Patent Document 5] Patent Publication No. 2021-170240 [Patent Document 6] Japanese Patent Application Laid-Open No. 2005-085068 [Non-patent literature]
[0004] [Non-Patent Document 1] Margaret Pearce; Bilge Mutlu; Julie Shah; Robert Radwin, "Optimizing Makespan and Ergonomics in Integrating Collaborative Robots Into Manufacturing Processes", IEEE Transactions on Automation Science and Engineering, Volume: 15 Issue: 4. Summary of the Invention [Problem to be solved by the invention]
[0005] In the technologies described in Patent Documents 1-3 and 5-6, the workload of the worker to whom the work is assigned is not taken into consideration as a parameter when allocating work. The technologies described in Patent Document 3 and Non-Patent Document 1 consider optimization when there are both humans and robots as workers, but do not consider the relationship between the worker's work range and the robot's work range. If the worker's workload and work range are not taken into consideration, there is a risk that the worker's workload will not be minimized or the work time of each worker will not be sufficiently equalized.
[0006] As described in Patent Document 4 and Non-Patent Document 7, when task allocation and scheduling are optimized simultaneously, if the number of tasks or workers is large, the number of parameters to be adjusted during optimization increases. As a result, the amount of calculation required for optimization becomes enormous, and even if a commercial solver is used, there is a risk that the optimization problem cannot be solved within a practical time frame.
[0007] The present invention has been made to solve at least some of the problems described above, and aims to reduce the workload when humans and robots are mixed as workers and to assign tasks in a way that equalizes the working time of each worker. [Means for solving the problem]
[0008] The present invention has been made to solve at least part of the above-mentioned problems, and can be realized in the following forms.
[0009] (1) According to one aspect of the present invention, there is provided a task assignment device comprising: an information acquisition unit that acquires task information, including task time and workload of tasks performed by human or robot workers, layout information about a process layout, and worker information about the workers; a placement position candidate generation unit that uses the task information, layout information, and worker information to generate placement position candidates in which the positions of multiple task elements set according to the process layout and the workers who will perform the tasks at the task element positions are allocated, the placement position candidate generation unit calculating an inter-element distance, which is the distance between the placement position of each worker in the generated placement position candidate and the position of the task element performed by each worker; an objective function generation unit that generates an objective function including, as parameters, a value related to the task time, a value related to the workload, and a value related to the inter-element distance; and a task assignment unit that assigns tasks to workers so as to minimize or maximize the objective function.
[0010] According to this configuration, placement position candidates are generated in which the positions of multiple work elements and workers are located relative to the process layout. Furthermore, the inter-element distances of each worker are calculated from the placement position candidates. Work to be performed by each worker is assigned by minimizing or maximizing an objective function that varies depending on the work time, workload, and inter-element distances. The positions of the work elements and the workers relative to the process layout are determined from the work assignment results. In this configuration, the inter-element distance, which is related to the distance between the human and the robot worker, is set as a parameter of the objective function. Therefore, by minimizing or maximizing the objective function, not only the work time and workload but also the inter-element distance is optimized. As a result, by optimizing the inter-element distances between the human and the robot worker, when a mixture of human and robot workers is used, the workload is reduced, the work time of each worker is equalized, and work assignment is performed with reduced physical interference between the workers.
[0011] (2) In the task allocation device of the above aspect, when generating the placement position candidates, the placement position candidate generating unit may set positions where human workers and robot workers are to be placed separately. With this configuration, the positions of the human worker and the robot worker are set separately, so the inter-element distance between the human worker and the robot worker is more appropriate than between other human workers or between other robot workers, and physical interference between the human worker and the robot worker is further reduced.
[0012] (3) In the task assignment device of the above aspect, the objective function generation unit may generate the objective function including a constraint that the maximum value of the sum of the inter-element distances of each worker is equal to or less than a preset first threshold value. According to this configuration, an objective function is generated in which the maximum value of the sum of the inter-element distances of each worker is equal to or less than the first threshold value. Therefore, by minimizing or maximizing the objective function, the sum of the inter-element distances of each worker is leveled.
[0013] (4) In the task assignment device of the above aspect, the objective function generation unit may generate the objective function that further includes a constraint that the sum of the inter-element distances of each worker is equal to a predetermined value that is set in advance. According to this configuration, an objective function is generated in which the sum of the inter-element distances of each worker is a predetermined value. Therefore, by minimizing or maximizing the objective function, the sum of the inter-element distances of each worker is equalized, and the inter-element distances of each worker are fixed to a predetermined value, thereby optimizing the work time and workload.
[0014] (5) In the task allocation device of the above aspect, the task allocation unit may minimize or maximize the objective function so as to satisfy the constraint that the sum of the inter-element distances of the robot's workers is equal to or less than a second threshold value set depending on the robot. According to this configuration, a constraint is imposed that the sum of the distances between elements of the robot worker must be equal to or less than a second threshold determined by the length of the robot's arm, etc. As a result, only task elements included in the robot worker's work area are assigned as tasks to be performed by the robot worker.
[0015] (6) In the task allocation device of the above aspect, when one of the two workers is a robot, the task allocation unit may minimize or maximize the objective function so as to satisfy the constraint that the distance between the placement positions of the two workers is equal to or greater than a third threshold. According to this configuration, when one of two workers is a robot, the workers are assigned tasks so that the distance between the two workers is equal to or greater than the third threshold. By setting the third threshold according to the work area determined by the length of the robot's arm, etc., physical interference between the two workers is suppressed.
[0016] The present invention can be realized in various forms, for example, in the form of a task allocation device, a process organization device, a process design device, a task allocation method, a process organization method, a process design method, a system including these devices or implementing these methods, a computer program for executing these devices or methods, a server device for distributing this computer program, a non-transitory storage medium on which a computer program is stored, etc. [Brief explanation of the drawings]
[0017] [Figure 1] 1 is a schematic block diagram of a task allocation system according to an embodiment of the present invention; [Figure 2] FIG. [Figure 3] FIG. 10 is an explanatory diagram of an area where workers can be placed. [Figure 4] FIG. 10 is an explanatory diagram of candidate worker placement positions. [Figure 5] 1 is a flowchart of a work allocation method. [Figure 6] FIG. 1 is an explanatory diagram of the correspondence between Examples 1 and 2 and Comparative Examples 1 and 2. [Figure 7] FIG. 10 is an explanatory diagram of a task allocation result in the first embodiment. [Figure 8] FIG. 10 is an explanatory diagram of a task allocation result in the second embodiment. [Figure 9] FIG. 10 is an explanatory diagram of a task allocation result in Comparative Example 1. [Figure 10] FIG. 10 is an explanatory diagram of a task allocation result in Comparative Example 2. [Figure 11] FIG. 11 is an explanatory diagram of the arrangement of work performed by a robot worker in the third embodiment. [Figure 12] FIG. 10 is an explanatory diagram of the arrangement of work performed by a robot worker in the fourth embodiment. DETAILED DESCRIPTION OF THE INVENTION
[0018] <Embodiment> FIG. 1 is a schematic block diagram of a task assignment system (task assignment device) 100 according to one embodiment of the present invention. The task assignment system 100 of this embodiment acquires task information relating to multiple tasks performed by robots and human workers, and assigns tasks to each worker in a manner that reduces the workload of each worker and equalizes the working time of each worker. Specifically, the task assignment system 100 generates an objective function and optimizes the generated objective function to optimize the task assignment that assigns tasks to each process. In this embodiment, one process is handled by one human or one robot worker.
[0019] The task assignment system 100 of this embodiment is configured using a so-called personal computer. As shown in Fig. 1, the task assignment system 100 includes a control unit 10, a task information database (task information DB) 21, a layout database (layout DB) 22, a worker database (worker DB) 23, a task execution feasibility database (task execution feasibility DB) 24, an input unit 30 that accepts various operations, and an output unit 40 that is configured using a monitor that can display various images.
[0020] The various DBs 21 to 24 are configured with hard disk drives (HDDs), etc. The work information DB 21 stores work time, work costs, work, workload, and changeover time for all work assigned to workers.
[0021] The work time stored in the work information DB21 is the work time required for a worker to perform a task. In this embodiment, workers include humans with different work efficiencies, etc., and multiple robots with different performance capabilities. Therefore, the different time required for each worker to perform the task is stored in association with each task. The work cost is the monetary cost per unit time incurred when a worker performs the task. For example, when the worker is a human, the work cost is the value obtained by dividing the labor cost by the annual work hours. When the worker is a robot, the work cost is the value obtained by dividing the sum of the robot's introduction cost and maintenance cost by its useful life and annual work hours, plus the electricity cost incurred during the task. A different cost for each worker is stored in association with each task.
[0022] When the worker is a human, the workload is the workload imposed on the worker. The workload is information that quantifies the physical burden placed on the worker (for example, bending forward while working). When the worker is a robot, the setup time is the time required to attach and detach the robot arm and other equipment required to perform the work. In this embodiment, the setup time includes the time required to attach and detach the robot arm when the robot performs the work.
[0023] The layout DB 22 stores information about the process layout. FIG. 2 is a schematic top view of the process layout. FIG. 2 shows an example of a process layout in a factory where each task is performed. In this embodiment, a belt conveyor BT (hatched area) that transports the product to be worked on along the arrows shown in the figure is arranged in the factory. The layout DB 22 shows the positions of multiple task elements that are set according to the process layout. Note that FIG. 2 also shows the positions of task elements (hereinafter also referred to as "task element positions") set by the placement position candidate generation unit 12 (described later) for the process layout stored in the layout DB 22. The 24 task elements shown in FIG. 2 as an example represent 24 tasks (e.g., "attach a cover" and "tighten a bolt") performed by each worker. In this embodiment, as shown in FIG. 2, the placement position candidate generation unit 12 (described later) sets task element positions "1" to "24" in order from the upstream side of the belt conveyor BT.
[0024] The worker DB 23 stores worker information (worker information) of humans and robots who perform each task. For human workers, the worker information stores, for example, their work efficiency. For robot workers, the worker information stores, for example, their executable tasks, work efficiency, and arm length.
[0025] The work execution capability DB 24 stores information for determining whether a worker can execute the work assigned to each process. The work execution capability DB 24 also stores an upper limit value workerlimit of the number of workers to which a work can be assigned.
[0026] The control unit 10 shown in Fig. 1 is a so-called CPU (Central Processing Unit). The control unit 10 controls each unit of the work assignment system 100 by loading a computer program stored in ROM (Read Only Memory) into RAM (Random Access Memory) and executing it. The control unit 10 also functions as an information acquisition unit 11, an arrangement position candidate generation unit 12, an objective function generation unit 13, and a work assignment unit 14.
[0027] The information acquisition unit 11 acquires information stored in the various DBs 21 to 24. Specifically, the information acquisition unit 11 acquires information regarding task time, task cost, task elements, workload, changeover time, layout information, worker information, and whether each task can be performed. The information acquisition unit 11 also acquires input information from the user via the input unit 30.
[0028] The placement position candidate generation unit 12 uses the acquired task time, workload, layout information, and worker information to generate placement position candidates that include multiple task element positions set along the process layout (FIG. 2) and the workers who will perform tasks at the task element positions. To generate the placement position candidates, the placement position candidate generation unit 12 sets task element positions corresponding to each task ("1" to "24") set along the process layout, as shown in FIG. 2. In one example of this embodiment, the task objects are transported in the direction of the arrow on the belt conveyor BT, so the task element positions are set at equal intervals along the belt conveyor BT. Furthermore, all task element positions are set inside the belt conveyor BT to reduce the travel distance of the workers. In other embodiments, task element positions relative to the belt conveyor BT may be set at different positions depending on the task information and worker information.
[0029] The placement position candidate generation unit 12 uses worker information to set worker placement areas for a process layout in which work element positions are set, separately for when the worker is a human and when the worker is a robot. For example, if the worker is a human, the range within which the human can move is set as the placement position candidate. If the worker is a robot, the placement position candidate is set to be along the workpiece, taking into account the robot's own mobility and the arm's operating range. Furthermore, robot placement position candidates are determined based on constraints such as infrastructure (such as power sources) and existing equipment within the process. FIG. 3 is an explanatory diagram of the worker placement area RGh where a human worker can be placed and the robot placement area RGr where a robot worker can be placed. In FIG. 3, the worker placement area RGh and the robot placement area RGr are each shown as hatched areas. In FIG. 3, the belt conveyor BT shown in FIG. 2 is shown by a dashed line without hatching. As shown in FIG. 3, the worker placement area RGh is set inside the belt conveyor BT (the side where the positions of work elements 1 to 24 are set) within the rectangular factory area. The robot placement area RGr is the combined area of the entire area outside the belt conveyor BT and the area overlapping with part of the outside of the belt conveyor BT.
[0030] The placement position candidate generation unit 12 sets candidates for placing workers who will perform work on task elements from the worker placement area RGh and the robot placement area RGr. The placement position candidates generated by the placement position candidate generation unit 12 include information on the set worker placement and multiple task element positions that are set according to the process layout.
[0031] FIG. 4 is an explanatory diagram of candidate worker placement positions PCh for human workers and candidate robot placement positions PCr for robot workers. In FIG. 4, multiple candidate worker placement positions PCh are indicated by open circles, and multiple candidate robot placement positions PCr are indicated by open squares. Note that in FIG. 4, the numerical values of the work elements shown in FIGS. 2 and 3 are omitted. In this embodiment, the placement position candidate generator 12 creates multiple straight lines parallel to each of the two sets of parallel lines that form the rectangular factory. The placement position candidate generator 12 then sets the intersections of the multiple created straight lines, which exist in the worker placement area RGh and the robot placement area RGr, as candidate worker placement positions PCh and candidate robot placement positions PCr. The number of multiple lines forming intersections is set so that the number of intersections is equal to or greater than the total number of work elements. As the number of lines increases, the number of candidate worker placement positions PCh and candidate robot placement positions PCr formed at the intersections also increases, increasing the calculation time required to determine the placement of each worker. Therefore, in order to reduce calculation time, the number of lines may be set to a number of intersections that allows workers to be evenly distributed. Also, an upper limit may be set for the number of lines and intersections. As described above, the placement position candidate generation unit 12 sets the human placement position candidates PCh and the robot placement position candidates PCr for each of the human and the robot.
[0032] The placement position candidate generation unit 12 calculates the inter-element distance, which is the distance between the placement position where each worker is placed and the work element position of the work performed by each worker, based on the positional relationship between the human placement position candidate PCh and the robot placement position candidate PCr and the position of each work element in the process layout.
[0033] The objective function generator 13 shown in FIG. 1 generates an objective function O , which is expressed as the following formula (1) and is used to optimize the task allocation to each worker, using parameters related to the task time, task cost, workload, setup time, and inter-element distance. AlloIn this embodiment, the objective function generator 13 generates an objective function O, which is a weighted sum obtained by multiplying the four parameters Cmax1, SI, OC, Cmax2, and Cmax3 by weights w1 to w5, as shown in the following formula (1): Allo The weights w1 to w5 may be set arbitrarily by the user.
[0034]
number
[0035] The parameter Cmax1 is the maximum total working time of a worker required to complete all assigned tasks. Therefore, the parameter Cmax1 is defined as follows:
[0036]
number
[0037] x in equation (2) ij is a work assignment variable, where i corresponds to a work element and j corresponds to a worker. ij If is "1", it means that work element i is assigned to worker j. ij is the work time required for worker j to perform work element i. In other words, the parameter Cmax1 is the time required for each worker to perform work element i by the work assignment variable x ij and working time D ij The sum of the products of these is calculated and is defined as the maximum working time among each worker.
[0038] In this embodiment, when the worker is a human, the travel time corresponding to the travel distance between the task element positions of each task is taken into consideration. Furthermore, when the worker is a robot, the setup time for performing each task is taken into consideration. If the parameter Cmax1 is calculated without taking into consideration the travel time and setup time, the resulting value will deviate from the maximum actual task time. Therefore, in this embodiment, the objective function generator 13 estimates the task time according to the estimated travel distance when the worker is a human, and estimates the task time taking into consideration the setup time when the worker is a robot. The objective function generator 13 includes the estimated estimated travel time and setup time as values related to the parameter Cmax1. Depending on the estimate, the objective function generator 13 defines the above formula (2) as the following formula (3) when the worker is a human, and as the following formula (4) when the worker is a robot.
[0039]
number
number
[0040] The term newly added to the above formula (2), that is, the term on the right side of the left side in the above formula (3), is the estimated travel time calculated according to the estimated travel distance when the worker is a human. a is the average travel time for worker j to move between work locations. SL j is the number of work locations for work assigned to worker j. β is a weight. Equations (3) and (4) indicate that the maximum work time of all workers when they perform all assigned work is set to be equal to or less than parameter Cmax1. In other words, parameter Cmax1 is a value that constrains the maximum work time of workers. In this embodiment, in scheduling after work assignment, the minimum number of trips between work locations (SL j -1) and the average travel time M aThe product of this and the result is added as the total working time.
[0041] The term newly added to equation (2), i.e., the term on the right side of the left side in equation (4) above, is the changeover time when the worker is a robot. RT ij is the time it takes for the robot to remove the arm after performing task i. MT ij is the time required for the robot to set up the arm required to perform task i. When the same arm is used between successive tasks assigned to the robot, the correction term for task time when the same arm is used is "number of times the same arm is used × (RT ij +MT ij ) may be subtracted from the left side of equation (4).
[0042] The objective function O in the above equation (1) Allo The parameter SI is the workload TL when a worker performs an assigned task i when the worker is a human. i is defined as the sum of the following equation (5):
[0043]
number
[0044] The objective function O in the above equation (1) Allo The parameter OC is the work cost per unit time of a worker when performing the assigned work element i. j and working time D ij It is the sum of the products of and is defined as the following formula (6). Note that even for the same work element i, the work cost cost j and working time D ij For example, if the worker is a person, the work cost per unit time is j is the labor cost divided by the actual working hours per year. If the worker is a robot, the work cost per unit time is jis the depreciation cost divided by the annual operating hours plus the electricity cost per unit time.
[0045]
number
[0046] The objective function O in the above equation (1) Allo The parameter Cmax2 is the distance between the selected worker's placement position j and the assigned work element i's position. ij In other words, the objective function generating unit 13 generates an objective function O that includes the following equation (7) as a parameter, as a constraint that the maximum value of the sum of the inter-element distances of each worker is equal to or less than Cmax2 (first threshold value) as a threshold value. Allo Generate.
number
[0047] The objective function O in the above equation (1) Allo The parameter Cmax3 is the distance between the selected worker's placement position j and the assigned work element i's position. ij In other words, the objective function generator 13 generates an objective function O that includes the following equation (8) as a parameter, as a constraint that the sum of the inter-element distances of each worker is Cmax3, which is a predetermined value set in advance. Allo Generate.
number
[0048] As described above, the objective function O AlloThe parameters include a parameter Cmax1 related to the work time, a parameter SI related to the workload, a parameter OC related to the work cost, and parameters Cmax2 and Cmax3 related to the distance ij between the positions of the assigned work element i of the worker at the placement position j. The four parameters Cmax1, SI, OC, Cmax2, and Cmax3 may be normalized to align the numerical values between the parameters.
[0049] The task allocation unit 14 shown in FIG. 1 calculates the objective function O generated by the objective function generation unit 13. Allo The work allocation unit 14 allocates work to each worker so as to minimize . The work allocation unit 14 receives as input candidate workers to whom work is to be allocated, the number of workers to whom work is to be allocated, candidate worker placement positions (candidate human placement positions PCh and candidate robot placement positions PCr) generated by the candidate placement position generation unit 12, the distance distanceij between the positions of work element i corresponding to worker placement positions j, the upper limit workerlimit on the number of workers, and work information for each work. The work allocation unit 14 outputs the workers to whom work is to be allocated, the work to be allocated to each worker, and the worker placement positions. In order to output these, the work allocation unit 14 calculates an objective function O Allo The work allocation unit 14 simultaneously selects workers from the worker candidates and assigns work to the selected workers so as to minimize . In this embodiment, the work allocation unit 14 allocates work using mixed integer programming. Note that in other embodiments, work may be allocated using a metaheuristic search method such as a genetic algorithm.
[0050] The task allocation unit 14 calculates the decision variable x as shown in the following equations (9) to (11). ij ,y j ,z jj' Define
number
number
number
[0051] The decision variable x shown in the above equation (9) ij is a 0-1 variable that is "1" when task i is assigned to worker j and "0" otherwise. The decision variable y j is a 0-1 variable that is "1" when one or more tasks are assigned to worker j, and is "0" when no tasks are assigned to worker j. The decision variable z jj' is a 0-1 variable that is "1" if a worker is placed between placement candidate positions j and j', and "0" otherwise.
[0052] The task allocation unit 14 calculates the objective function O generated by the objective function generation unit 13. Allo The following equation (12) is defined to minimize (equation (1)).
number
[0053] The work allocation unit 14 sets the constraints of the following equations (13) to (19) in order to solve the above equation (12).
[0054]
number
number
number
number
number
number
number
[0055] The above formula (13) indicates that one worker is assigned to one task. The above formulas (14) and (15) indicate the variable y j In other words, the above formulas (14) and (15) determine whether one or more tasks are assigned to worker j. Note that M in formula (15) is a number greater than 1.
[0056] The above formula (16) is a formula for defining the upper limit of the number of workers to which work can be assigned. workerlimit in formula (16) is the upper limit of the number of workers to which work can be assigned. The above formula (17) is a formula for not assigning work to worker j who cannot perform work i. The work execution feasibility DB 24 contains a 0-1 variable, Feasibility ij is stored in the variable Feasibility ij is set to "1" if worker j can perform task i, and is set to "0" if worker j cannot perform task i.
[0057] The above formula (18) represents a constraint for selecting only task element positions within the robot's arm operating range when a robot worker is placed at placement position candidate j. The arm_distance on the right side of formula (18) is a constant that is set in advance for each robot. The constant arm_distance is stored in the worker DB 23 for each robot worker. In other words, the task allocation unit 14 calculates the objective function O so as to satisfy formula (18), which represents a constraint that the sum of inter-element distances for the robot's workers is equal to or less than arm_distance (second threshold), which is a threshold set for each robot. Allo Minimize.
[0058] The above formula (19) represents a constraint to avoid physical interference between workers. The distance inter_worker_distance on the left side of formula (19) jj'is the distance between the candidate placement positions jj' of the workers. The distance interferecen_distance on the right side of equation (19) is the distance at which physical interference between the workers occurs, and is determined by the combination of workers. The distance interferecen_distance is determined by the two workers placed at the candidate placement position jj' and the interference distance that is stored in advance in the worker DB 23 and differs depending on the worker. In other words, when one of the two workers is a robot, the work allocation unit 14 calculates the objective function O so as to satisfy equation (19) that expresses the constraint that the distance between the placement positions of the two workers is equal to or greater than interferecen_distance (third threshold) as a threshold set depending on the robot. Allo Minimize.
[0059] The variable z on the right side of equation (19) jj' is the variable y that indicates whether a worker is present at the placement location candidate j. j It is defined by the following equations (20) to (22) using the variable y j is the variable y defined in the above equations (10), (14) to (16). j is different.
[0060]
number
[0061] The work allocation unit 14 formulated the above equations (12) to (19) and the above equations (2) to (8) using a general-purpose mathematical programming modeler, and optimized the work allocation using a mixed integer programming solver. Figure 5 is a flowchart of a work allocation method for allocating work to each worker. In the work allocation flow shown in Figure 5, first, the information acquisition unit 11 performs an information acquisition step (step S1) in which it acquires work information, layout information, worker information, and information on whether each work can be performed, which are stored in the various DBs 21 to 24.
[0062] The placement position candidate generation unit 12 uses the task information, layout information, and worker information from the acquired information to generate placement position candidates in which task element positions set in accordance with the process layout shown in Fig. 2 and the workers who will perform tasks at the task element positions are placed (step S2). The placement position candidate generation unit 12 uses the worker information to set the worker placement area RGh and robot placement area RGr shown in Fig. 3 for the process layout in which the task element positions have been set. The placement position candidate generation unit 12 uses the set worker placement area RGh and robot placement area RGr to set worker placement position candidates PCh and robot placement position candidates PCr, which are placement position candidates for each worker.
[0063] The placement position candidate generating unit 12 calculates the inter-element distances corresponding to the placement positions of each worker from the positional relationships between the worker placement position candidates PCh and robot placement position candidates PCr and the positions of each work element in the process layout (step S3). The processing of steps S2 and S3 corresponds to the placement position candidate generating step.
[0064] The objective function generator 13 generates the objective function O , which is expressed as the above formula (1) and is used to optimize the task allocation. Allo The task allocation unit 14 performs an objective function generation step of generating the objective function O generated by the objective function generation unit 13 (step S4). Allo A work allocation step is performed to allocate work to each worker so as to minimize (step S5). The work allocation unit 14 allocates work to each worker using candidate workers to whom work is to be allocated, the number of workers to whom work is to be allocated, candidate human placement positions PCh and candidate robot placement positions PCr, the inter-element distances of each worker, and the upper limit value for the number of workers workerlimit. As a result, the work allocation unit 14 outputs the workers to whom work is to be allocated, the work to be allocated to each worker, and the worker placement positions. The output method may be to display an image of the output result on the monitor of the output unit 40. After the work allocation unit 14 has allocated the work, the work allocation flow ends.
[0065] The placement position, work time, and work load of each worker were evaluated in Examples 1 and 2, which take into consideration interference between robotic workers and human workers during work, and Comparative Examples 1 and 2, which do not take interference into consideration. Figure 6 is an explanatory diagram of the correspondence between Examples 1 and 2 and Comparative Examples 1 and 2. Figure 6 shows the worker attributes in Examples 1 and 2 and Comparative Examples 1 and 2, and the objective function O shown in the above formula (1). Allo The parameters included in (Equations (7) and (8)) and the objective function O Allo The correspondence between the constraints (equations (18) and (19)) that are satisfied when optimizing is shown in a table.
[0066] As shown in FIG. 6, in Examples 1 and 2 and Comparative Example 2, the workers are composed of humans and robots. Furthermore, the robot workers in Example 1 and Comparative Example 2 are normal robots, while the robot workers in Example 2 are collaborative robots that can work in collaboration with humans. The difference between normal robots and collaborative robots relates to the presence or absence of the constraint of equation (19) described below. On the other hand, the workers in Comparative Example 1 are only humans, not robots. Note that in Examples 1 and 2 and Comparative Example 2, the number of human workers is restricted to three and the number of robot workers to three. In Comparative Example 1, the number of human workers is restricted to three.
[0067] In the first and second embodiments, the objective function O includes the parameters shown in the above equations (7) and (8). Allo is optimized. Equation (7) is a constraint that the maximum value of the sum of the inter-element distances of each worker is equal to or less than Cmax2. Equation (8) is a constraint that the sum of the inter-element distances of each worker is Cmax3. Furthermore, in the first embodiment, the objective function O Allo On the other hand, in Example 2, the constraints of the above equations (18) and (19) are satisfied when the objective function O Allois optimized, only the constraint of the above formula (18) is satisfied. When the robot workers are collaborative robots as in Example 2, the distance interferecen_distance set in accordance with the physical interference between the workers on the right side of formula (19) becomes zero. Therefore, in Example 2, the constraint of formula (19) is automatically satisfied regardless of the worker arrangement. In FIG. 6, to clearly compare Example 1 and Example 2, an "x" is indicated in the cell corresponding to formula (19) of Example 2.
[0068] In Comparative Examples 1 and 2, unlike Examples 1 and 2, the generated objective function O Allo does not include the parameters in the above equations (7) and (8). As a result, the objective function O Allo In the optimization of (18), the constraints shown in the above formulas (18) and (19) are not set. In Comparative Example 1, instead of formula (7), the objective function O Allo is generated.
[0069] Each of Figures 7 to 10 is an explanatory diagram of the worker placement positions set in the process layout, and the work times and workloads of three workers A to C. Figures 7 and 8 show the work assignment results for Examples 1 and 2, respectively. Figures 9 and 10 show the work assignment results for Comparative Examples 1 and 2, respectively. In each of Figures 7 to 10, (a) shows the placement positions HA, HB, HC, HR1, HR2, and HR3 of each worker, and (b) shows a list of the work times and workloads of each of the three workers A to C.
[0070] 7(a) and 8(a) show the positions HA, HB, and HC of three workers A to C, the positions HR1, HR2, and HR3 of three robot workers R1 to R3, 24 elemental tasks Wha, Whb, Whc, Wr1, Wr2, and Wr3 performed by the workers indicated by circles, and the work areas Aa to Ac, A1 to A3 of each worker. Note that in the process layouts shown in each of Figures 7 to 10(a), the belt conveyor BT and the numerical values of the work elements shown in Figure 2 etc. are omitted.
[0071] In Figures 7(a) and 8(a), the placement position HA of human worker A is shown as a triangle with cross-hatching inside. The seven elemental tasks Wha performed by worker A are shown as circles with the same cross-hatching as the placement position HA. The work area Aa when worker A performs the seven tasks is shown as a dashed rectangular area. Similarly, the placement position HB of human worker B is shown as a triangle with no hatching inside. The six elemental tasks Whb performed by worker B are shown as circles with no hatching inside. The work area Ab when worker B performs the six tasks is shown as a dashed rectangular area. The placement position HC of human worker C is shown as a triangle with less hatching inside than the placement position HA. The elemental tasks Whc performed by worker C are shown as circles with the same hatching as the placement position HC. The work area Ac when worker C performs the five tasks is shown as a dashed rectangular area.
[0072] In Figures 7(a) and 8(a), the placement position HR1 of robot worker R1 is shown by a square with no hatching inside. The two elemental tasks Wr1 performed by worker R1 are shown by dashed squares with no hatching inside. The work area A1 when worker R1 performs the two tasks is shown by a solid rectangular area. Similarly, the placement position HR2 of robot worker R2 is shown by a square with hatching inside. The two elemental tasks Wr2 performed by worker R2 are shown by dashed squares with no hatching inside. The work area A2, which is the operating area of the arm when worker R2 performs the two tasks, is shown by a solid rectangular area. The placement position HR3 of robot worker R3 is shown by a square with finer cross-hatching inside than placement position HR2. The two elemental tasks Wr3 performed by worker R3 are shown by dashed squares with no hatching inside. The work area A3 in which worker R3 performs the two tasks is shown by a solid rectangular area.
[0073] In Example 1 shown in FIG. 7(a), the working area A1 of robot worker R1 does not overlap with any of the working areas Aa, Ab, Ac, A2, and A3 of the other workers A to C, R2 to R3. On the other hand, part of the working area A2 of robot worker R2 overlaps with the working area Aa of human worker A. Furthermore, the working area A3 of robot worker R3 is included in the working area Ab of human worker B.
[0074] In Example 2 shown in FIG. 8(a), the tasks assigned to human workers A and B and robot workers R2 and R3 are different from those in Example 1 shown in FIG. 7(a). This difference is due to the fact that robot workers R1 to R3 in Example 2 are collaborative robots, and as shown in FIG. 6, each task is assigned to a worker without satisfying the constraints of formula (19) above. Therefore, comparing FIG. 7(b) with FIG. 8(b), it is clear that the work time of workers B and C is shorter and the workload of workers B and C is reduced between Example 1 and Example 2. This is thought to be because the collaborative robot used in Example 2 has a higher degree of freedom in task assignment and is assigned tasks with a higher workload than the normal robot used in Example 1.
[0075] 9(a) and 10(a) show the element tasks Wha, Whb, and Whc assigned to three workers A to C. In Comparative Example 1 shown in Fig. 9, robot workers are not taken into consideration as shown in Fig. 6, and therefore element tasks are assigned only to human workers. Furthermore, in Comparative Examples 1 and 2, the placement positions of workers A to C performing element tasks and the distance between elements are not taken into consideration, and therefore Figs. 9(a) and 10(a) do not include the placement positions HA to HC, HR1 to HR3 of workers A to C and R1 to R3 and the work areas Aa to Ac, and A1 to A3 as in Examples 1 and 2.
[0076] In Comparative Example 1, instead of the inter-element distance in Examples 1 and 2, the objective function O is set to equalize the movement distances of workers A to C. AlloTherefore, as shown in FIG. 9(a), the tasks are assigned to workers A to C so that the elemental tasks performed by each of workers A to C are close to each other.
[0077] In Comparative Example 2, unlike Comparative Example 1, the travel time of each worker is not taken into consideration, so the elemental work performed by each worker is mixed. Instead, in Comparative Example 2, the objective function O Allo In this example, tasks are assigned to each worker so that the task time and workload are optimized. As a result, the task time and workload of workers A to C in comparative example 2 shown in FIG. 10(b) are smaller than the task time and workload of workers A to C in examples 1 and 2. Although the task time and workload of examples 1 and 2 are slightly smaller than the task time and workload of comparative example 2, in examples 1 and 2, tasks are assigned to each worker so as to reduce physical interference between workers. Note that the task time and workload of workers A to C in examples 1 and 2 are much smaller than the task time and workload of comparative example 1.
[0078] In Comparative Example 1, the number of workers is smaller than in Examples 1 and 2, so the number of tasks performed by human workers A to C is greater. However, since the total number of tasks performed by the three robot workers in Examples 1 and 2 is six, if the number of human workers in Comparative Example 1 is increased to four, the number of tasks performed by one human worker in Comparative Example 1 will be the same as in Examples 1 and 2. In other words, the task time can be easily compared by multiplying the task time in Comparative Example 1 by 0.75 (= 3 / 4) as the task time required to perform the same task as in Examples 1 and 2 with a human worker. The task time shown in FIGS. 7(b) and 8(b) corresponding to Examples 1 and 2 is shorter than the task time shown in FIG. 9(b) corresponding to Comparative Example 1 multiplied by 0.75.
[0079] FIG. 11 is an explanatory diagram of the work elements Wr1 to Wr3 and work areas A1 to A3 assigned to the robot workers of Example 3. FIG. 12 is an explanatory diagram of the work elements Wr1 to Wr3 and work areas A1 to A3 assigned to the robot workers of Example 4. FIGS. 11 and 12 show schematic diagrams of process layouts for Example 3, in which the distance interferecen_distance set in accordance with physical interference between workers in the above formula (19) is set to "7," and Example 4, in which the distance interferecen_distance is set to "5," in comparison with Example 1. Note that the distance interferecen_distance in Example 1 is set to "4." FIGS. 11 and 12 show numerical values on the vertical and horizontal axes that serve as distance standards. In addition, Figures 11 and 12 omit the illustration of the placement positions HR1 to HR3 of the robot workers R1 to R3, the placement positions HA to HC of the human workers A to C, the element tasks Wha, Whb, and Whc assigned to the human workers A to C, and the work areas A1 to A3 of the human workers A to C, which are shown in Figure 7.
[0080] 11 and 12 and Fig. 7, it can be seen that the tasks assigned to each worker differ depending on the set value of the distance interferecen_distance in equation (19). In Example 3 shown in Fig. 11, the distance interferecen_distance in Example 4 shown in Fig. 12 is large, so the working area A1 of robot worker R1 is far from the working area A2 of robot worker R2. In this way, the set value of the distance interferecen_distance is changed in accordance with the worker information and input information stored in the worker DB 23, and the results of task assignment change.
[0081] As described above, in the task allocation system 100 of this embodiment, the placement position candidate generation unit 12 uses task time, workload, layout information, and worker information to generate placement position candidates in which a plurality of task element positions set in accordance with the process layout shown in FIG. 2 and workers who will perform tasks at the task element positions are allocated. The placement position candidate generation unit 12 calculates the inter-element distance, which is the distance between the placement position where each worker is allocated and the task element position of the task performed by each worker, from the positional relationship between the worker placement position candidates PCh and robot placement position candidates PCr shown in FIG. 4 and each task element position in the process layout. The objective function generation unit 13 uses parameters related to task time, task cost, workload, setup time, and inter-element distance to generate an objective function O Allo The task allocation unit 14 shown in FIG. 1 generates the objective function O generated by the objective function generation unit 13. Allo The work to be performed by each worker is assigned so as to minimize the above. According to the work assignment system 100 of this embodiment, a plurality of work element positions and candidate worker placement positions PCh and candidate robot placement positions PCr are generated for the process layout. Furthermore, the inter-element distances of each worker are calculated from the candidate worker placement positions PCh and candidate robot placement positions PCr. The objective function O, which changes depending on the work time, workload, and inter-element distances, is Allo By minimizing or maximizing (Equation (1)), the tasks to be performed by each worker are assigned. From the task assignment results, the task element positions and worker positions for the process layout shown in Fig. 7(a) and Fig. 8(a) are determined. In this embodiment, the inter-element distance related to the distance between the human worker and the robot worker is used as the objective function O Allo Therefore, the objective function O AlloBy minimizing this, not only the work time and workload but also the distance between elements is optimized. As a result, when there is a mix of human and robot workers, the work load of each worker is reduced and the work time of each worker is equalized, and work assignment is performed in which physical interference between workers is suppressed.
[0082] Furthermore, in this embodiment, the placement position candidate generator 12 uses worker information to set separate worker placement areas for a process layout in which task element positions have been set, depending on whether the worker is a human or a robot. In this embodiment, the positions at which human workers and robot workers are placed are set separately, as shown in the human placement position candidate PCh and robot placement position candidate PCr in FIG. 4. As a result, the inter-element distance between a human worker and a robot worker is more optimized than between human workers and between robot workers, further reducing physical interference between human workers and robot workers.
[0083] In this embodiment, the objective function generation unit 13 generates an objective function O that includes the steam equation (7) as a parameter, as a constraint that the maximum value of the sum of the inter-element distances of each worker is equal to or less than Cmax2 as a threshold value. Allo In this embodiment, an objective function O is generated such that the maximum value of the sum of the inter-element distances of each worker is equal to or less than the threshold Cmax2. Allo Therefore, the objective function O Allo By minimizing , the sum of the inter-element distances of each worker is leveled.
[0084] In this embodiment, the objective function generation unit 13 generates an objective function O that includes the following formula (8) as a parameter, as a constraint that the sum of the inter-element distances of each worker is Cmax3, which is a predetermined value set in advance. Allo In this embodiment, the objective function O is generated such that the sum of the inter-element distances of each worker is Cmax3. Allo Therefore, the objective function O AlloBy minimizing this, the sum of the inter-element distances of each worker is leveled, and the inter-element distance of each worker is fixed to Cmax3, thereby optimizing the work time and workload.
[0085] In this embodiment, the task allocation unit 14 calculates the objective function O so as to satisfy the equation (18) that expresses the constraint that the sum of the inter-element distances of the robot workers is equal to or less than arm_distance, which is a threshold value set according to the robot. Allo In this embodiment, a constraint is imposed that the sum of the distances between elements of a robot worker must be less than or equal to arm_distance, which is the length of the robot's arm. As a result, only the work elements included in the work areas A1 to A3 of the robot worker are assigned as work to be performed by that robot worker.
[0086] In this embodiment, when one of the two workers is a robot, the work allocation unit 14 calculates the objective function O so as to satisfy equation (19) which expresses a constraint that the distance between the positions of the two workers is equal to or greater than interference_distance, which is a threshold value set according to the robot. Allo According to this configuration, when one of two workers is a robot, work is assigned to the worker so that the distance between the two workers is equal to or greater than interferecen_distance. By setting interferecen_distance according to the working areas A1 to A3 determined by the length of the robot's arm, physical interference between the two workers is suppressed.
[0087] <Modifications of the embodiment> The present invention is not limited to the above-described embodiment, and can be implemented in various forms without departing from the spirit of the present invention, including, for example, the following modifications: In the above-described embodiment, part of the configuration realized by hardware may be replaced by software, and conversely, part of the configuration realized by software may be replaced by hardware.
[0088] In the above embodiment, the objective function O includes a value related to the inter-element distance between the workers. Allo The task assignment system 100 has been described as an example of a task assignment device that assigns tasks to each worker by minimizing the objective function O. However, the configuration of the task assignment system 100, the generation of placement position candidates, and the objective function O Allo The generation of the objective function O and the task allocation can be modified. The process layout shown in FIG. 2, the number of task elements to be arranged along the process layout, and the generated candidate placement positions are set appropriately according to the layout information, task information, and worker information acquired by the information acquisition unit 11. Allo Instead of the distance, the travel time of a worker traveling the distance may be used as the value related to the inter-element distance included in the above. In this case, the travel time may be calculated using different travel speeds depending on the worker stored as worker information.
[0089] In the above embodiment, the positions where human workers and robot workers are placed are set separately as human placement position candidate PCh and robot placement position candidate PCr, as shown in Figure 4, but the placement position candidates may be set to the same regardless of whether they are human or robot workers.
[0090] The objective function O generated by the objective function generator 13 Allo (Equation (1)) can be modified within a range that includes parameters that vary depending on at least one of Cmax1 (Equations (3) and (4)) related to the work time and Cmax2 (Equation (7)) and Cmax3 (Equation (8)) related to the distance between elements. For example, the objective function O Allo The objective function O may not include OC (equation (6)) related to the operation cost, Cmax2, or Cmax3. Allo The weights w1 to w5 set in may not be set, but may all be set to, for example, 1. Although Cmax2 and Cmax3 are set as parameters related to the inter-element distance, other relational expressions may also be set.
[0091] The task allocation unit 14 calculates the objective function O so as to satisfy the constraints of the equations (13) to (19). Allo was minimized, but the objective function O Allo The constraints for solving the equations (18) and (19) may be modified according to the task information and worker information. For example, the task allocation unit 14 may solve the objective function O without satisfying the constraints of the equations (18) and (19). Allo In the above embodiment, no scheduling is performed in which the workers set the start times of each task after tasks are assigned to the workers, but the scheduling of each worker after tasks are assigned may be determined by a known method.
[0092] Although the task assignment system 100 includes various DBs 21-24, an input unit 30, and an output unit 40, it does not have to include these components. In this case, the information acquisition unit 11 and input unit 30 of the task assignment system 100 may acquire task information, etc. from other databases. Furthermore, the task assignment system 100 may output the scheduling results to the user using other devices such as a monitor or speaker instead of the output unit 40.
[0093] In the first embodiment, the objective function O Allo is optimized by minimizing , but a function that is optimized by maximizing may be generated as the objective function. Furthermore, the work allocation unit 14 may use the objective function to derive a more preferable optimized solution without necessarily deriving the most suitable optimal solution. The parameters of the objective function do not necessarily need to include values related to the estimated travel time when the worker is a human and the changeover time when the worker is a robot. In this case, by using the objective function, an optimized solution is calculated using only the work time without considering the estimated travel time and changeover time.
[0094] This aspect has been described above based on embodiments and modifications. However, the above-described embodiments are intended to facilitate understanding of this aspect and are not intended to limit this aspect. This aspect may be modified or improved without departing from the spirit and scope of the claims, and equivalents thereof are included in this aspect. Furthermore, if a technical feature is not described as essential in this specification, it may be deleted as appropriate.
[0095] The present invention can also be realized in the following forms. [Application example 1] A work allocation device, an information acquisition unit that acquires work information including work time and work load of work performed by a human or robot worker, layout information about a process layout, and worker information about the worker; a placement position candidate generation unit that uses the work information, the layout information, and the worker information to generate placement position candidates in which the positions of multiple work elements set according to the process layout and the workers who will perform work at the positions of the work elements are arranged, and that calculates an inter-element distance that is the distance between the placement position of each worker in the generated placement position candidate and the position of the work element performed by each worker; an objective function generating unit that generates an objective function including, as parameters, a value related to the task time, a value related to the workload, and a value related to the inter-element distance; a task allocation unit that allocates tasks to workers so as to minimize or maximize the objective function; A work allocation device comprising: [Application example 2] The task allocation device according to Application Example 1, The task allocation device, wherein the placement position candidate generation unit sets positions where human workers and robot workers will be placed separately when generating the placement position candidates. [Application example 3] The task allocation device according to Application Example 1 or Application Example 2, The objective function generation unit generates the objective function including a constraint that the maximum value of the sum of the inter-element distances for each worker is equal to or less than a preset first threshold value. [Application example 4] The task allocation device according to any one of Application Examples 1 to 3, The task assignment device, wherein the objective function generation unit generates the objective function further including a constraint that the sum of the inter-element distances of each worker be equal to a predetermined value. [Application example 5] The task allocation device according to any one of Application Examples 1 to 4, The task allocation unit minimizes or maximizes the objective function so as to satisfy a constraint that the sum of the inter-element distances of the robot's workers is equal to or less than a second threshold value set depending on the robot. [Application Example 6] The task allocation device according to any one of Application Examples 1 to 5, The task allocation unit minimizes or maximizes the objective function so as to satisfy a constraint that the distance between the placement positions of the two workers is equal to or greater than a third threshold when one of the two workers is a robot. [Application Example 7] A work allocation method, comprising: an information acquisition step of acquiring work information including work time and work load of work performed by a human or robot worker, layout information about the process layout, and worker information about the worker; a placement position candidate generation step of using the work information, the layout information, and the worker information to generate placement position candidates in which the positions of a plurality of work elements set according to the process layout and the workers who will perform work at the positions of the work elements are arranged, and a placement position candidate generation step of calculating an inter-element distance which is the distance between the placement position of each worker in the generated placement position candidate and the position of the work element performed by each worker; an objective function generating step of generating an objective function including, as parameters, a value related to the task time, a value related to the workload, and a value related to the inter-element distance; a task allocation step of allocating tasks to workers so as to minimize or maximize the objective function; A work allocation method that performs the above. [Application Example 8] A computer program comprising: an information acquisition function for acquiring work information including the work time and work load of work performed by a human or robot worker, layout information about the process layout, and worker information about the worker; a placement position candidate generation function that uses the work information, the layout information, and the worker information to generate placement position candidates in which the positions of multiple work elements set according to the process layout and the workers who will perform work at the positions of the work elements are arranged, and that calculates an inter-element distance that is the distance between the placement position of each worker in the generated placement position candidate and the position of the work element performed by each worker; an objective function generating function that generates an objective function including, as parameters, a value related to the work time, a value related to the workload, and a value related to the inter-element distance; a task allocation function that allocates tasks to workers so as to minimize or maximize the objective function; A computer program that causes a computer to execute the following. [Explanation of symbols]
[0096] 10...Control unit 11…Information acquisition department 12...Arrangement position candidate generation unit 13...Objective function generation section 14...Work allocation department 30...Input section 40...Output section 100...Work assignment system (work assignment device) 21...Work information database 22...Layout database 23...Worker database 24...Work execution possibility database O Allo …Objective function PCh…Person placement position candidates PCr: Robot placement position candidate RGh…Person placement area RGr: Robot placement area
Claims
1. A work allocation device, an information acquisition unit that acquires work information including work time and work load of work performed by a human or robot worker, layout information about a process layout, and worker information about the worker; a placement position candidate generation unit that uses the work information, the layout information, and the worker information to generate placement position candidates in which the positions of multiple work elements set according to the process layout and the workers who will perform work at the positions of the work elements are arranged, and that calculates an inter-element distance that is the distance between the placement position of each worker in the generated placement position candidate and the position of the work element performed by each worker; an objective function generating unit that generates an objective function including, as parameters, a value related to the task time, a value related to the workload, and a value related to the inter-element distance; a task allocation unit that allocates tasks to workers so as to minimize or maximize the objective function; A work allocation device comprising:
2. The task allocation device according to claim 1, The task allocation device, wherein the placement position candidate generation unit sets positions where human workers and robot workers will be placed separately when generating the placement position candidates.
3. The task allocation device according to claim 2, The objective function generation unit generates the objective function including a constraint that the maximum value of the sum of the inter-element distances for each worker is equal to or less than a preset first threshold value.
4. The task allocation device according to claim 3, The task assignment device, wherein the objective function generation unit generates the objective function further including a constraint that the sum of the inter-element distances of each worker be equal to a predetermined value.
5. The task allocation device according to any one of claims 1 to 4, The task allocation unit minimizes or maximizes the objective function so as to satisfy a constraint that the sum of the inter-element distances of the robot's workers is equal to or less than a second threshold value set depending on the robot.
6. The task allocation device according to claim 5, The task allocation unit minimizes or maximizes the objective function so as to satisfy a constraint that the distance between the placement positions of the two workers is equal to or greater than a third threshold when one of the two workers is a robot.
7. A work allocation method, comprising: an information acquisition step of acquiring work information including work time and work load of work performed by a human or robot worker, layout information about the process layout, and worker information about the worker; a placement position candidate generation step of using the work information, the layout information, and the worker information to generate placement position candidates in which the positions of a plurality of work elements set according to the process layout and the workers who will perform work at the positions of the work elements are arranged, and a placement position candidate generation step of calculating an inter-element distance which is the distance between the placement position of each worker in the generated placement position candidate and the position of the work element performed by each worker; an objective function generating step of generating an objective function including, as parameters, a value related to the task time, a value related to the workload, and a value related to the inter-element distance; a task allocation step of allocating tasks to workers so as to minimize or maximize the objective function; A work allocation method that performs the above.
8. A computer program comprising: an information acquisition function for acquiring work information including the work time and work load of work performed by a human or robot worker, layout information about the process layout, and worker information about the worker; a placement position candidate generation function that uses the work information, the layout information, and the worker information to generate placement position candidates in which the positions of multiple work elements set according to the process layout and the workers who will perform work at the positions of the work elements are arranged, and that calculates an inter-element distance that is the distance between the placement position of each worker in the generated placement position candidate and the position of the work element performed by each worker; an objective function generating function that generates an objective function including, as parameters, a value related to the work time, a value related to the workload, and a value related to the inter-element distance; a task allocation function that allocates tasks to workers so as to minimize or maximize the objective function; A computer program that causes a computer to execute the following.
Citation Information
Patent Citations
Cyclic sequence scheduling method
JP2001005846A
Process charge assignment method and system for production line
JP2005085068A
Method and apparatus for allocating work process
JP2006171824A
Determination device, determination method and determination program for allocated personnel number
JP2018097801A
Apparatus for process organization, method and program therefor
JP2021170240A