Processing device, processing system, processing method, and recording medium

The processing device and system address robot interference by calculating overlap regions and setting virtual obstacles, enhancing operational efficiency and collision avoidance.

WO2026126331A1PCT designated stage Publication Date: 2026-06-18NEC CORP

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
NEC CORP
Filing Date
2024-12-10
Publication Date
2026-06-18

Smart Images

  • Figure JP2024043607_18062026_PF_FP_ABST
    Figure JP2024043607_18062026_PF_FP_ABST
Patent Text Reader

Abstract

This processing device comprises: an interference region calculation means whereby operation trajectories which are trajectories in the operation of each of a plurality of robots are used as a basis to calculate an interference possibility region which is a region in which the operation ranges indicated by each of the operation trajectories overlap; an interference occurrence time determination means that calculates a period in which robots are estimated to interfere with each other in the interference possibility region; and an interference avoidance parameter setting means that sets a virtual obstacle on the basis of the interference possibility region and the period and sets a parameter so as to avoid the set virtual obstacle.
Need to check novelty before this filing date? Find Prior Art

Description

Processing Device, Processing System, Processing Method, and Recording Medium 【0001】 The present disclosure relates to a processing device, a processing system, a processing method, and a recording medium. 【0002】 Robots that operate in cooperation in various fields such as automobile factories and logistics warehouses are being used. As a related technology, Patent Document 1 discloses a technology related to the setting of robot interlocks. 【0003】 Japanese Unexamined Patent Application Publication No. 2003-103484 【0004】 By the way, in the field of robots related to Patent Document 1, a technology capable of suppressing interference between robots is required. 【0005】 One of the objectives of each aspect of the present disclosure is to provide a processing device, a processing system, a processing method, a recording medium, etc. that can solve the above problems. 【0006】 According to one aspect of the present disclosure, a processing device includes an interference region calculation means for calculating an interference possibility region, which is a region where the operation ranges indicated by the respective operation trajectories overlap, based on the operation trajectories in the operations of a plurality of robots; an interference occurrence time determination means for calculating a period during which it is estimated that the robots interfere with each other in the interference possibility region; and an interference avoidance parameter setting means for setting a virtual obstacle based on the interference possibility region and the period, and setting parameters so as to avoid the set virtual obstacle. 【0007】 According to another aspect of the present disclosure, a processing system includes the above processing device and a robot that operates based on the parameters set by the processing device so as to avoid the virtual obstacle. 【0008】According to another aspect of the present disclosure, the processing method includes: calculating an interference potential region, which is the area where the operating ranges indicated by the operating trajectories of each of the multiple robots overlap, based on the operating trajectories of each robot; calculating the period during which the robots are estimated to interfere with each other in the interference potential region; setting a virtual obstacle based on the interference potential region and the period; and setting parameters to avoid the set virtual obstacle. 【0009】 According to another aspect of this disclosure, the recording medium stores a program that causes a computer to perform the following actions: calculate an interference-possible region, which is the area where the operating ranges of each of the motion trajectories overlap, based on the motion trajectories which are the trajectories of the movement of each of the multiple robots; calculate the period during which the robots are estimated to interfere with each other in the interference-possible region; set a virtual obstacle based on the interference-possible region and the period; and set parameters to avoid the set virtual obstacle. 【0010】 According to each aspect of this disclosure, interference between robots can be suppressed. 【0011】 This figure shows an example of the configuration of a processing system according to some embodiments of the present disclosure. This figure shows an example of the configuration of a simulator according to some embodiments of the present disclosure. This figure shows an example of the configuration of a robot according to some embodiments of the present disclosure. This figure shows an example of the processing flow of a processing system according to some embodiments of the present disclosure. This figure illustrates the calculation of the interference potential region performed by the interference region calculation unit according to some embodiments of the present disclosure. This figure illustrates the calculation of the time range in the interference potential region where interference between robots is likely to occur, performed by the interference occurrence time determination unit according to some embodiments of the present disclosure. This figure shows an example of the configuration of a processing device according to some embodiments of the present disclosure. This figure shows an example of the processing flow of a processing device according to some embodiments of the present disclosure. This is a schematic block diagram showing the configuration of a computer according to at least one embodiment. 【0012】The embodiments will be described in detail below with reference to the drawings. 【0013】 <Embodiment> The processing system 1 according to the embodiment of the present disclosure is a system that can suppress interference between robots. Furthermore, the processing system 1 is a system that can shorten the time required to execute the motion plans of multiple robots (hereinafter referred to as "motion execution time"). 【0014】 (Configuration of the Processing System) Figure 1 is a diagram showing an example of the configuration of a processing system 1 according to some embodiments of the present disclosure. As shown in Figure 1, the processing system 1 comprises a simulator 10, a robot controller 20, and a plurality of robots 30a1, 30a2, ..., 30aN. When it is not necessary to distinguish between each of the plurality of robots 30a1, 30a2, ..., 30aN, the robots 30a1, 30a2, ..., 30aN may be collectively referred to as robot 30. 【0015】 Figure 2 shows an example of the configuration of a simulator 10 according to some embodiments of the present disclosure. As shown in Figure 2, the simulator 10 includes a motion planning unit 101, a motion trajectory calculation unit 102, an interference region calculation unit 103, an interference occurrence time determination unit 104, an interference avoidance parameter setting unit 105, and a storage unit 106. 【0016】 The motion planning unit 101 calculates a rough overall motion plan for the robot 30 from its initial state to the execution of a desired process. The motion planning unit 101 calculates this motion plan for each robot 30. 【0017】The initial state is an initial parameter that represents the state obtained from sensors, cameras, etc. Furthermore, when the robot 30 moves the robot arm 302, which will be described later, from the location where it is at the first time in the initial state (i.e., the first state) to a target location (i.e., the second state), the target value is, for example, the coordinates and orientation of the target location. Specifically, when the robot 30 moves an object, the target value is the coordinates indicating the destination location of the object, the orientation of the object at the destination, etc. Also specifically, when the robot 30 performs welding or painting on an automobile, the target value is the coordinates indicating the location where the welding or painting of the automobile will be performed, the location where the welding or painting will be performed, etc. 【0018】 Furthermore, environmental information refers to information that describes the environment surrounding the robot 30 in which it operates. For example, environmental information may include information that describes the position and orientation of objects other than the robot 30. Examples of target trajectory candidates include the angle of the robot arm 302 of the robot 30 and the angles of each joint of the robot 30. 【0019】 For example, the motion planning unit 101 receives the initial state of the robot 30, target values, and environmental information. Based on the received initial state of the robot 30, target values, and environmental information, the motion planning unit 101 generates a motion plan that includes candidate target trajectories. 【0020】Specifically, the motion planning unit 101 has a model in which the robot 30 and objects other than the robot 30 are modeled with abstract object shapes, and when the initial state of the robot 30, target values, and environmental information are set as part of the conditions for calculating the motion plan, it outputs a motion plan by calculation according to a predetermined algorithm. Abstract object shapes are, for example, simplified shapes compared to actual object shapes such as cuboids, cubes, spheres, and cylinders. The motion planning unit 101 is then given the initial state of the robot 30, target values, and environmental information as part of the conditions for calculating the motion plan. Based on the initial state of the robot 30, target values, and environmental information, the motion planning unit 101 calculates a motion plan from the initial state to the state indicated by the target values ​​(i.e., from the first state to the second state), which includes the assignment of tasks and procedures to achieve a desired process (for example, the process in which the robot 30 moves an object as described above, or the process in which the robot 30 performs welding or painting on an automobile), and the rough motion trajectory of the tip of the robot arm 302 of the robot 30 (for example, the gripping part 3022 described later). 【0021】 Furthermore, the motion planning unit 101 recalculates the motion plan using parameters set by the interference avoidance parameter setting unit 105 to avoid virtual obstacles, which will be described later. 【0022】 The motion trajectory calculation unit 102 calculates a more detailed (i.e., more accurate) motion trajectory compared to the motion planning unit 101. The motion trajectory calculation unit 102 calculates this motion trajectory for each robot 30. 【0023】 For example, the motion trajectory calculation unit 102 receives the initial state, target value, and environmental information of the robot 30. Then, based on the received initial state, target value, and environmental information of the robot 30, the motion trajectory calculation unit 102 generates a motion trajectory for each of the robots 30. 【0024】Specifically, the motion trajectory calculation unit 102 has a model in which the robot 30 and objects other than the robot 30 are modeled with object shapes close to those of the real environment, and when the initial state of the robot 30, target values, and environmental information are set as part of the conditions for calculating the motion trajectory, the model outputs a motion trajectory by calculation according to a predetermined algorithm. Object shapes close to those of the real environment refer to, for example, shapes that mimic the shapes of the robot 30 and each object other than the robot 30 as perceived by human eyes. The motion trajectory calculation unit 102 is then given the initial state of the robot 30, target values, and environmental information as part of the conditions for calculating the motion trajectory. Based on the initial state of the robot 30, target values, and environmental information, the motion trajectory calculation unit 102 calculates a detailed motion trajectory of the robot 30, including the joints 3021, taking into account the position and orientation from the first state to the second state when following the task assignment and procedure calculated by the motion planning unit 101 to achieve a desired process (for example, the process in which the robot 30 moves an object, or the process in which the robot 30 performs welding or painting on an automobile). Furthermore, this motion trajectory includes information showing the relationship between the spatial trajectories and time transitions of the joints 3021 of multiple robots 30. 【0025】 Furthermore, the motion trajectory calculation unit 102 recalculates the motion trajectory using parameters set by the interference avoidance parameter setting unit 105 to avoid virtual obstacles, which will be described later. 【0026】 The interference area calculation unit 103 calculates the operating range (movement range) of each robot 30 based on the operating trajectory calculated by the operating trajectory calculation unit 102. Then, based on the calculated operating ranges, the interference area calculation unit 103 calculates the interference possibility area, which is the area where the robots 30 may interfere with each other, for each pair of robots 30 whose operating ranges overlap. 【0027】 The interference occurrence time determination unit 104 calculates the time range in which interference between robots 30 is likely to occur within the interference possibility region, based on the motion trajectory calculated by the motion trajectory calculation unit 102 for each robot 30 of the same set. 【0028】The interference avoidance parameter setting unit 105 sets a virtual obstacle in an area that includes at least a part of the interference potential area, based on the interference potential area calculated by the interference area calculation unit 103 and the time range calculated for each of the interference potential area by the interference occurrence time determination unit 104. The interference avoidance parameter setting unit 105 then sets parameters for the motion planning unit 101 and the motion trajectory calculation unit 102 to avoid the set virtual obstacle. Details of how the interference avoidance parameter setting unit 105 sets the virtual obstacle will be described later. 【0029】 The memory unit 106 stores various information necessary for the processing performed by the simulator 10. For example, the memory unit 106 stores the initial state of the robot 30, target values, and environmental information set by the motion planning unit 101 and the motion trajectory calculation unit 102, respectively. Also, for example, the memory unit 106 stores the motion plan calculated by the motion planning unit 101 and the motion trajectory calculated by the motion trajectory calculation unit 102. 【0030】 When the motion trajectory calculation unit 102 has recalculated the motion trajectory a predetermined number of times, or when the interference area calculation unit 103 calculates the interference area and determines that no interference area exists, the robot controller 20 identifies the motion trajectory with the shortest execution time among the motion trajectories calculated by the motion trajectory calculation unit 102. Based on the identified motion trajectory, the robot controller 20 generates a control command sequence tailored to each robot 30. The robot controller 20 then outputs each of the generated control command sequences to the corresponding robot 30. The generation of control command sequences by the robot controller 20 is performed, for example, as follows. 【0031】For example, the robot controller 20 identifies the position and orientation of the gripping part 3022 of the robot arm 302 of the robot 30 from information showing the relationship between the spatial trajectories and time transitions of multiple joints 3021 of the robot 30 included in the identified motion trajectory. The robot controller 20 converts the identified position and orientation of the gripping part 3022 into angle information representing the angles of each joint 3021 of the robot 30 by applying inverse kinematics to the identified position and orientation of the gripping part 3022. The robot controller 20 then generates a control command sequence by listing control commands that represent each of the angle information obtained through the conversion. 【0032】 Figure 3 shows an example of the configuration of a robot 30 according to some embodiments of the present disclosure. As shown in Figure 3, the robot 30 comprises a computer 301 and a robot arm 302. 【0033】 The computer 301 receives a sequence of control commands from the robot controller 20. Based on the received sequence of control commands, the computer 301 generates a control signal to operate the robot arm 302. The computer 301 then outputs the generated control signal to the robot arm 302. 【0034】 As shown in Figure 3, the robot arm 302 comprises a plurality of joints 3021 and a gripping unit 3022. Each of the plurality of joints 3021 is equipped with a drive unit 3021a. Each of the drive units 3021a operates in response to a control signal from the computer 301. This allows the robot arm 302 to be changed to various angles and orientations. As a result, the gripping unit 3022 can be positioned and oriented as desired, enabling it to perform desired operations. 【0035】 The processing described above performed by the processing system 1 according to one embodiment of this disclosure is merely an example and is not limited to the processing described above. For example, the processing system 1 may perform the processing described below. 【0036】(Processing performed by the processing system) Figure 4 is a diagram showing an example of the processing flow of the processing system 1 according to some embodiments of the present disclosure. Next, the processing performed by the processing system 1 will be described with reference to Figure 4. 【0037】 The motion planning unit 101 and the motion trajectory calculation unit 102 each receive the initial state, target values, and environmental information of the robot 30. The motion planning unit 101 and the motion trajectory calculation unit 102 each set the received initial state, target values, and environmental information of the robot 30 (step S1). 【0038】 The motion planning unit 101 generates a motion plan for each robot 30, including target trajectory candidates, based on the initial state of the robot 30, target values, and environmental information (step S2). The motion planning unit 101 records the generated motion plans in the storage unit 106. 【0039】 The motion trajectory calculation unit 102 generates a motion trajectory for each robot 30 based on the robot's initial state, target value, and environmental information (step S3). The motion trajectory calculation unit 102 records each generated motion trajectory in the storage unit 106 (step S4). The motion trajectory calculation unit 102 determines whether the number of times motion trajectories have been generated has reached a predetermined number (step S5). 【0040】 If the motion trajectory calculation unit 102 determines that the number of times motion trajectories have been generated has not reached a predetermined number (NO in step S5), the interference area calculation unit 103 calculates the operating range (movement range) of each robot 30 based on the motion trajectories calculated by the motion trajectory calculation unit 102 (step S6). Then, based on the calculated operating ranges, the interference area calculation unit 103 calculates the interference possibility area, which is the area where the robots 30 may interfere with each other, for each pair of robots 30 whose operating ranges overlap (step S7). 【0041】Figure 5 is a diagram illustrating the calculation of the interference potential region performed by the interference region calculation unit 103 according to some embodiments of the present disclosure. The solid line A in Figure 5 shows a part of the motion trajectory of the gripping part 3022 of robot 30a1 calculated by the motion trajectory calculation unit 102. The dashed line B in Figure 5 shows a part of the motion trajectory of the gripping part 3022 of robot 30a2 calculated by the motion trajectory calculation unit 102. The direction of the arrows on solid line A and dashed line B indicates the direction in which each gripping part 3022 moved along the motion trajectory. In Figure 5, the region R enclosed by solid line A and dashed line B represents the interference potential region calculated by the interference region calculation unit 103. In other words, the interference region calculation unit 103 calculates the region enclosed by the motion trajectories calculated by the motion trajectory calculation unit 102 for each robot 30. The region R shown by the calculation result is the interference potential region. Note that in Figure 5, region R appears to be a two-dimensional planar region. However, since each gripping part 3022 moves within three-dimensional space, and the solid line A and dashed line B indicating the movement trajectory represent a space with a width indicating the physical size of the gripping part 3022, the actual region R is a three-dimensional spatial region. 【0042】 The interference occurrence time determination unit 104 calculates the time range in which interference between robots 30 is likely to occur within the interference possibility region, based on the motion trajectory calculated by the motion trajectory calculation unit 102 for each robot 30 of the same set (step S8). 【0043】Figure 6 is a diagram illustrating the calculation of the time range in which interference between robots 30 is likely to occur in the interference-possible region, performed by the interference occurrence time determination unit 104 according to some embodiments of the present disclosure. Here, as shown in Figure 5, the two positions where the solid line A and the dashed line B intersect are denoted as P1 and P2. Furthermore, the time when the gripping part 3022 of robot 30a1 passes through position P1 (i.e., the time when the gripping part 3022 of robot 30a1 enters the interference-possible region) is denoted as t1, and the time when it passes through position P2 (i.e., the time when the gripping part 3022 of robot 30a1 exits the interference-possible region) is denoted as t3. Furthermore, the time when the gripping part 3022 of robot 30a2 passes through position P2 (i.e., the time when the gripping part 3022 of robot 30a2 enters the interference-possible region) is denoted as t2, and the time when it passes through position P1 (i.e., the time when the gripping part 3022 of robot 30a2 exits the interference-possible region) is denoted as t4. In this case, if the horizontal axis in Figure 6 is time t, then, as shown in part (a) of Figure 6, the period during which robot 30a1 passes through the interference-possible region of its gripping part 3022 can be represented by bar C from time t1 to time t3. Also, as shown in part (b) of Figure 6, the period during which robot 30a2 passes through the interference-possible region of its gripping part 3022 can be represented by bar D from time t2 to time t4. As a result, the time range during which interference between robots 30 (in this example, robot 30a1 and robot 30a2) is most likely to occur is from time t2 to time t3, as shown by bar E1 in part (c) of Figure 6. In other words, the interference occurrence time determination unit 104 calculates, from the motion trajectories calculated by the motion trajectory calculation unit 102 for each of the same pair of robots 30 (in this example, robot 30a1 and robot 30a2), the period during which robot 30a1 passes through the interference-possible region of the gripping part 3022, as shown in part 6(a) of Figure 6, and the period during which robot 30a2 passes through the interference-possible region of the gripping part 3022, as shown in part 6(b) of Figure 6.Then, as shown in the part (c) of FIG. 6, the interference occurrence time determination unit 104 calculates a time range in which the periods calculated for each of the robots 30a1 and 30a2 overlap as a time range in which interference is likely to occur between the robots 30 (in the example shown here, between the robot 30a1 and the robot 30a2). 【0044】 Note that, instead of the period in which the periods calculated for each of the robots 30a1 and 30a2 as shown in the part (c) of FIG. 6 overlap, the interference occurrence time determination unit 104 may calculate, as a time range in which interference is likely to occur between the robots 30, a time range with a margin for that period, for example, a time range indicated by the bar E2 in the part (d) of FIG. 6. 【0045】 The interference avoidance parameter setting unit 105 determines whether to set a virtual obstacle in an area including at least a part of the interference possible area based on the interference possible area calculated by the interference area calculation unit 103 and the time range calculated by the interference occurrence time determination unit 104 for each of the interference possible areas (step S9). Then, when it is determined that a virtual obstacle is to be set, the interference avoidance parameter setting unit 105 sets a virtual obstacle in an area including at least a part of the interference possible area based on the interference possible area calculated by the interference area calculation unit 103 and the time range calculated by the interference occurrence time determination unit 104 for each of the interference possible areas. 【0046】 Here, the details of setting the virtual obstacle performed by the interference avoidance parameter setting unit 105 will be described. Here, a method for determining the size of the virtual obstacle set by the interference avoidance parameter setting unit 105 will be described. 【0047】 (First method for determining the size of the virtual obstacle) The first method for determining the size of the virtual obstacle set by the interference avoidance parameter setting unit 105 is to set the size of the virtual obstacle to be the same as the interference possible area. 【0048】(Second method for determining the size of the virtual obstacle) The second method for determining the size of the virtual obstacle set by the interference avoidance parameter setting unit 105 is to set the size of the virtual obstacle to be larger than the interference possible area and to include the interference possible area. However, when the initial value of the size of the virtual obstacle is set large, as will be described later, the interference possible area disappears at a stage where the number of recalculations for calculating the operation trajectory for avoiding the virtual obstacle is small, and the movement trajectory with the shortest operation execution time determined at that point is identified as the required movement trajectory. In this case, the movement trajectory can be obtained with a small number of recalculations. 【0049】 (Third method for determining the size of the virtual obstacle) The third method for determining the size of the virtual obstacle set by the interference avoidance parameter setting unit 105 is to set the size of the virtual obstacle to include at least a part of the interference possible area and to be smaller than the interference possible area. Examples of at least a part of the interference possible area include the center point or the center of gravity of the interference possible area. However, at least a part of the interference possible area may be anywhere in the interference possible area. When the virtual obstacle is set small, compared to when the virtual obstacle is set large, the distance that the robot 30 that is considered to interfere moves to avoid the virtual obstacle is short, and the distance between the robots 30 is also short. As a result, when the virtual obstacle is set small, the possibility that the robots 30 interfere with each other is higher than when the virtual obstacle is set large. Therefore, when the initial value of the size of the virtual obstacle is set smaller and the operation trajectory is recalculated, a shorter operation trajectory can be obtained compared to when the initial value of the size of the virtual obstacle is set larger and the operation trajectory is recalculated. 【0050】 As described above, when the initial value of the size of the virtual obstacle is set larger, the operation execution time may increase, and when the initial value of the size of the virtual obstacle is set smaller, the number of recalculations of the operation trajectory may increase. Therefore, the size of the virtual obstacle may be determined by the fourth method for determining the size of the virtual obstacle described below. 【0051】 (Fourth method for determining the size of a virtual obstacle) The fourth method for determining the size of a virtual obstacle set by the interference avoidance parameter setting unit 105 may be changed according to the length of time that the robots 30 overlap in the interference-possible region. As the period of overlap between the robots 30 in the interference-possible region lengthens, the likelihood of the robots 30 interfering with each other increases. Based on this idea, the initial value of the size of the virtual obstacle may be determined to increase as the period of overlap between the robots 30 in the interference-possible region lengthens. 【0052】 Furthermore, if there is no period during which the robots 30 overlap within the interference potential region, it means that even if an interference potential region exists, the robots 30 do not exist simultaneously within that region. In other words, if there is no period during which the robots 30 overlap within the interference potential region, the robots 30 do not interfere with each other. Therefore, if there is no period during which the robots 30 overlap within the interference potential region, it is not necessary to set up a virtual obstacle. 【0053】 Next, we will explain how to determine the period during which the virtual obstacle set by the interference avoidance parameter setting unit 105 will exist. 【0054】 (First method for determining the period during which a virtual obstacle exists) As described above, if there is no period during which the robots 30 overlap in the interference-possible region, then even if an interference-possible region exists, the robots 30 will not be in the interference-possible region at the same time. As a result, the robots 30 will not interfere with each other. In other words, the first method for determining the period during which a virtual obstacle exists is to not set a virtual obstacle if there is no period during which the robots 30 overlap in the interference-possible region. 【0055】(Second method for determining the period for which a virtual obstacle exists) The second method for determining the period for which a virtual obstacle exists, as set by the interference avoidance parameter setting unit 105, is to limit the period for which the virtual obstacle exists to only the period during which the robot 30 moves within the area where the obstacle exists. This is based on the idea that "if a virtual obstacle exists only during the period when the robot 30 moves within the area, the movement trajectory can be calculated." 【0056】 In other words, as explained above, for example, if an interference-possible area exists and there is a period in that interference-possible area during which the robots 30 overlap, the interference avoidance parameter setting unit 105 will determine to set a virtual obstacle. Also, if there is no interference-possible area, or if there is an interference-possible area but there is no period in that interference-possible area during which the robots 30 overlap, the interference avoidance parameter setting unit 105 will set a virtual obstacle. 【0057】 The interference avoidance parameter setting unit 105 may also determine which robot 30's motion trajectory calculations apply the setting of a virtual obstacle. For example, the interference avoidance parameter setting unit 105 may apply the setting of a virtual obstacle to the calculation of the motion trajectory of all robots 30. 【0058】 Furthermore, for example, the interference avoidance parameter setting unit 105 may determine, based on an evaluation value, which robot 30's motion trajectory calculation will apply the setting of a virtual obstacle to. For example, the evaluation value is a numerical value indicating the degree of interference of the robot 30. The interference avoidance parameter setting unit 105 may then apply the setting of a virtual obstacle to the calculation of the motion trajectory of robot 30 whose evaluation value satisfies predetermined conditions, based on the idea that the larger the value, the more susceptible the robot 30 is to interference. Examples of evaluation values ​​include a numerical representation of the distance between the point where the robot 30 must perform its task and the robot 30, a numerical representation of the distance between the interference-possible area and the robot 30, and a numerical representation of the importance of the robot 30 passing through the interference-possible area. 【0059】 The greater the distance between the point where robot 30 must perform its task and robot 30, the more likely interference with other robots 30 is to occur. Therefore, in this case, based on the idea that the larger the evaluation value, the more susceptible it is to interference, a virtual obstacle may be applied to the calculation of the movement trajectory of robots 30 whose evaluation value exceeds a threshold. 【0060】 Furthermore, the shorter the distance between the potential interference area and the robot 30, the more likely the robot 30 is to pass through the potential interference area and be affected by interference. Therefore, in this case, based on the idea that the smaller the evaluation value, the more susceptible it is to interference, a virtual obstacle may be set up in the calculation of the movement trajectory of the robot 30 whose evaluation value is below a threshold. 【0061】 Furthermore, if the evaluation value quantifies the importance of the robot 30 passing through the interference-possible area, then that robot 30 will be given priority in passing through the interference-possible area. For this reason, it is also possible to exclude the robot 30 with the largest evaluation value (for example, the robot with the largest evaluation value) (i.e., the robot 30 that passes through the interference-possible area) and apply the setting of a virtual obstacle to the calculation of the movement trajectory of the robots 30 other than that robot 30. 【0062】 If an interference-possible area exists and there is a period in the interference-possible area during which the robots 30 overlap, the interference avoidance parameter setting unit 105 determines to set a virtual obstacle (NO in step S9), and sets a virtual obstacle in an area that includes at least a part of the interference-possible area based on the interference-possible area calculated by the interference area calculation unit 103 and the time range calculated for each of the interference-possible areas by the interference occurrence time determination unit 104 (step S10). The interference avoidance parameter setting unit 105 sets parameters in the motion planning unit 101 and the motion trajectory calculation unit 102 respectively to avoid the set virtual obstacle (step S11). Then, the interference avoidance parameter setting unit 105 returns to the process in step S2. 【0063】Furthermore, if there is no interference-possible area, or if there is no period during which the robots 30 overlap in an interference-possible area, and the interference avoidance parameter setting unit 105 determines that a virtual obstacle is set (YES in step S9), or if the motion trajectory calculation unit 102 determines that the number of times motion trajectories have been generated has reached a predetermined number (YES in step S5), the robot controller 20 identifies the motion trajectory with the shortest execution time among the motion trajectories calculated by the motion trajectory calculation unit 102 (step S12). Based on the identified motion trajectory, the robot controller 20 generates a control command sequence tailored to each robot 30 (step S13). Then, the robot controller 20 outputs each of the generated control command sequences to the corresponding robot 30. 【0064】 The computer 301 receives a sequence of control commands from the robot controller 20. Based on the received sequence of control commands, the computer 301 generates a control signal to operate the robot arm 302 (step S14). The computer 301 then outputs the generated control signal to the robot arm 302. 【0065】 The robot arm 302 receives control signals from the computer 301. Each of the drive units 3021a of the multiple joints 3021 operates in accordance with the control signals received by the robot arm 302 from the computer 301 (step S15). This allows the robot arm 302 to be changed to various angles and orientations. As a result, the gripping unit 3022 can be in the desired position and orientation, and can perform the desired processing. 【0066】 The interference avoidance parameter setting unit 105 may also set parameters for the motion planning unit 101 and the motion trajectory calculation unit 102, respectively, so that the robot 30 avoids the set virtual obstacle by moving in a straight line or arc. 【0067】Furthermore, the interference avoidance parameter setting unit 105 may set parameters in the motion planning unit 101 and the motion trajectory calculation unit 102 respectively to prohibit the robot 30 from making sharp angles of 90 degrees or less near a set virtual obstacle. 【0068】 Furthermore, the interference avoidance parameter setting unit 105 may set parameters in the motion planning unit 101 and the motion trajectory calculation unit 102 respectively to prohibit the robot 30 from making sharp angles of 90 degrees or less near a set virtual obstacle. 【0069】 Furthermore, the interference avoidance parameter setting unit 105 may set parameters in the motion planning unit 101 and the motion trajectory calculation unit 102 respectively so that the robot 30 passes inside a portion of the set virtual obstacle. 【0070】 Furthermore, the interference avoidance parameter setting unit 105 may set a virtual obstacle having only curved surfaces. 【0071】 (Advantages) The processing system 1 according to one embodiment of the present disclosure has been described above. In the simulator 10 (an example of a processing device) provided in the processing system 1, the interference area calculation unit 103 (an example of interference area calculation means) calculates an interference possibility area, which is the area where the operating ranges indicated by the operating trajectories of each of the multiple robots 30 overlap, based on the operating trajectories, which are the trajectories of the operation of each of the multiple robots 30. The interference occurrence time determination unit 104 (an example of interference occurrence time determination means) calculates the period during which it is estimated that the robots 30 will interfere with each other in the interference possibility area. The interference avoidance parameter setting unit 105 (an example of interference avoidance parameter setting means) sets a virtual obstacle based on the interference possibility area and the period, and sets parameters to avoid the set virtual obstacle. 【0072】 The simulator 10 included in this processing system 1 can suppress interference between robots 30. 【0073】A processing apparatus 700 according to some embodiments of the present disclosure will be described. Figure 7 is a diagram showing an example of the configuration of a processing apparatus 700 according to some embodiments of the present disclosure. As shown in Figure 7, the processing apparatus 700 according to some embodiments of the present disclosure includes an interference region calculation means 701, an interference occurrence time determination means 702, and an interference avoidance parameter setting means 703. 【0074】 The interference area calculation means 701 calculates an interference potential area, which is the region where the operating ranges indicated by the operating trajectories of multiple robots overlap, based on the operating trajectories of each robot. The interference occurrence time determination means 702 calculates the period during which it is estimated that the robots will interfere with each other in the interference potential area. The interference avoidance parameter setting means 703 sets a virtual obstacle based on the interference potential area and the period, and sets parameters to avoid the set virtual obstacle. 【0075】 The processing unit 700 can be implemented, for example, using the functions of the simulator 10 illustrated in Figure 1. The interference region calculation means 701 can be implemented, for example, using the functions of the interference region calculation unit 103 illustrated in Figure 2. The interference occurrence time determination means 702 can be implemented, for example, using the functions of the interference occurrence time determination unit 104 illustrated in Figure 2. The interference avoidance parameter setting means 703 can be implemented, for example, using the functions of the interference avoidance parameter setting unit 105 illustrated in Figure 2. 【0076】 Next, the processing performed by the processing apparatus 700 according to some embodiments of the present disclosure will be described. Figure 8 is a diagram showing an example of the processing flow of the processing apparatus 700 according to some embodiments of the present disclosure. Here, the processing performed by the processing apparatus 700 will be described with reference to Figure 8. 【0077】The interference area calculation means 701 calculates an interference possibility area, which is the region where the operating ranges indicated by the operating trajectories of each of the multiple robots overlap, based on the operating trajectories of each robot (step S101). The interference occurrence time determination means 702 calculates the period during which it is estimated that the robots will interfere with each other in the interference possibility area (step S102). The interference avoidance parameter setting means 703 sets a virtual obstacle based on the interference possibility area and the period, and sets parameters to avoid the set virtual obstacle (step S103). 【0078】 This processing device 700 can help suppress interference between the robots 30. 【0079】 In addition, the order of processing in the embodiments of this disclosure may be changed, as long as appropriate processing is performed. 【0080】 Although embodiments of this disclosure have been described, the processing system 1, simulator 10, robot controller 20, robot 30, and other control devices described above may have a computer device inside. The processing steps described above are stored in the form of a program on a computer-readable recording medium, and the processing is performed when the computer reads and executes this program. A specific example of a computer is shown below. 【0081】 Figure 9 is a schematic block diagram showing the configuration of a computer according to at least one embodiment. As shown in Figure 9, the computer 5 includes a CPU (Central Processing Unit) 6, main memory 7, storage 8, and interface 9. For example, the processing system 1, simulator 10, robot controller 20, robot 30, and other control devices are each implemented in the computer 5. The operation of each of the above-mentioned processing units is stored in the storage 8 in the form of a program. The CPU 6 reads the program from the storage 8 and loads it into the main memory 7, and executes the above-mentioned processing according to the program. The CPU 6 also allocates storage areas in the main memory 7 corresponding to each of the above-mentioned storage units according to the program. 【0082】 Examples of storage 8 include HDD (Hard Disk Drive), SSD (Solid State Drive), magnetic disk, magneto-optical disk, CD-ROM (Compact Disc Read Only Memory), DVD-ROM (Digital Versatile Disc Read Only Memory), and semiconductor memory. Storage 8 may be an internal medium directly connected to the bus of the computer 5, or an external medium connected to the computer 5 via interface 9 or a communication line. Furthermore, if this program is distributed to the computer 5 via a communication line, the computer 5 that receives the distribution may expand the program into main memory 7 and execute the above processing. In at least one embodiment, storage 8 is a tangible storage medium that is not temporary. 【0083】 Furthermore, the above program may implement some of the functions described above. Moreover, the above program may be a file that can implement the above functions in combination with a program already recorded on the computer device, a so-called differential file (differential program). 【0084】 While several embodiments of this disclosure have been described, these embodiments are illustrative and do not limit the scope of the disclosure. These embodiments may be modified in various ways, without departing from the gist of the disclosure. 【0085】 Furthermore, some or all of the above embodiments may also be described as follows, but are not limited to these. 【0086】(Note 1) An interference region calculation means that calculates an interference possibility region, which is the region where the operating ranges indicated by the operating trajectories of multiple robots overlap, based on the operating trajectories of each robot; an interference occurrence time determination means that calculates the period during which it is estimated that the robots will interfere with each other in the interference possibility region; and an interference avoidance parameter setting means that sets a virtual obstacle based on the interference possibility region and the period, and sets parameters to avoid the set virtual obstacle. 【0087】 (Note 2) The processing device according to Note 1, wherein the interference avoidance parameter setting means sets the virtual obstacle based on an evaluation value which is a numerical value indicating the degree of interference of the robot. 【0088】 (Note 3) The processing device described in Note 2, wherein the evaluation value is a numerical value indicating the distance between the point where the robot must perform its task and the robot. 【0089】 (Note 4) The processing apparatus as described in Note 2, wherein the evaluation value is a numerical value indicating the distance between the interference potential region and the robot. 【0090】 (Note 5) The processing apparatus as described in Note 2, wherein the evaluation value is a numerical value indicating the importance of the robot passing through the interference-possible region. 【0091】 (Appendix 6) A processing system comprising: the processing device described in Appendix 1; and a robot that operates based on parameters set by the processing device to avoid the virtual obstacle. 【0092】 (Note 7) A processing method comprising: calculating an interference potential region, which is the area where the operating ranges indicated by the operating trajectories of multiple robots overlap, based on the operating trajectories of each robot; calculating the period during which the robots are estimated to interfere with each other in the interference potential region; setting a virtual obstacle based on the interference potential region and the period; and setting parameters to avoid the set virtual obstacle. 【0093】(Note 8) The processing method according to Note 7, which includes setting the virtual obstacle based on an evaluation value that is a numerical value indicating the degree of interference of the robot. 【0094】 (Note 9) The processing method described in Note 8, wherein the evaluation value is a numerical value indicating the distance between the point where the robot must perform its task and the robot. 【0095】 (Note 10) The processing method described in Note 8, wherein the evaluation value is a numerical value indicating the distance between the interference potential area and the robot. 【0096】 (Note 11) The processing method described in Note 8, wherein the evaluation value is a numerical value indicating the importance of the robot passing through the interference-possible area. 【0097】 (Note 12) A recording medium that stores a program that causes a computer to perform the following: calculate an interference-possible region, which is the area where the operating ranges indicated by the operating trajectories of multiple robots overlap, based on the operating trajectories of each robot; calculate the period during which the robots are estimated to interfere with each other in the interference-possible region; set a virtual obstacle based on the interference-possible region and the period; and set parameters to avoid the set virtual obstacle. 【0098】 (Note 13) The recording medium according to claim 12, which stores a program that causes the computer to set the virtual obstacle based on an evaluation value which is a numerical value indicating the degree of interference of the robot. 【0099】 (Note 14) The recording medium described in Note 13, wherein the evaluation value is a numerical value indicating the distance between the point where the robot must perform its task and the robot. 【0100】 (Note 15) The recording medium described in Note 13, wherein the evaluation value is a numerical value indicating the distance between the interference-possible area and the robot. 【0101】(Note 16) The recording medium described in Note 13, wherein the evaluation value is a numerical value indicating the importance of the robot passing through the interference-possible region. 【0102】 According to each aspect of this disclosure, interference between robots can be suppressed. 【0103】 1... Processing system 5... Computer 6... CPU 7... Main memory 8... Storage 9... Interface 10... Simulator 20... Robot controller 30... Robot 101... Motion planning unit 102... Motion trajectory calculation unit 103... Interference area calculation unit 104... Interference occurrence time determination unit 105... Interference avoidance parameter setting unit 106... Memory unit 301... Computer 302... Robot arm 3021... Joint 3021a... Drive unit 3022... Gripping unit

Claims

1. An interference region calculation means that calculates an interference potential region, which is the region where the operating ranges indicated by the operating trajectories of multiple robots overlap, based on the operating trajectories of each robot; an interference occurrence time determination means that calculates the period during which it is estimated that the robots will interfere with each other in the interference potential region; and an interference avoidance parameter setting means that sets a virtual obstacle based on the interference potential region and the period, and sets parameters to avoid the set virtual obstacle.

2. The processing apparatus according to claim 1, wherein the interference avoidance parameter setting means sets the virtual obstacle based on an evaluation value which is a numerical value indicating the degree of interference of the robot.

3. The processing apparatus according to claim 2, wherein the evaluation value is a numerical value indicating the distance between the point where the robot must perform its task and the robot.

4. The processing apparatus according to claim 2, wherein the evaluation value is a numerical value indicating the distance between the interference-possible region and the robot.

5. The processing apparatus according to claim 2, wherein the evaluation value is a numerical value indicating the importance of the robot passing through the interference-possible region.

6. A processing system comprising: a processing device according to claim 1; and a robot that operates based on parameters set by the processing device to avoid the virtual obstacle.

7. A processing method comprising: calculating an interference potential region, which is the area where the operating ranges indicated by the operating trajectories of multiple robots overlap, based on the operating trajectories of each robot; calculating the period during which the robots are estimated to interfere with each other in the interference potential region; setting a virtual obstacle based on the interference potential region and the period; and setting parameters to avoid the set virtual obstacle.

8. A recording medium containing a program that causes a computer to perform the following actions: calculate an interference potential region, which is the area where the operating ranges of multiple robots overlap, based on their respective operating trajectories; calculate the period during which the robots are estimated to interfere with each other in the interference potential region; set a virtual obstacle based on the interference potential region and the period; and set parameters to avoid the set virtual obstacle.