Control support system, control support method, and control support program

The control assistance system addresses the challenge of planning robot operations by simulating and identifying optimal relative positional relationships between the workpiece and robot, enhancing processing efficiency.

JP7818565B2Active Publication Date: 2026-02-20YASKAWA DENKI KK
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
JP2023216158
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2023-12-21
Publication Date
2026-02-20
Estimated Expiration
2043-12-21

AI Technical Summary

Technical Problem

Existing technologies face challenges in efficiently planning robot operations for processing workpieces, particularly in determining optimal relative positional relationships between the workpiece and the robot.

Method used

A control assistance system that includes a simulation unit to virtually simulate robot processes in various candidate positional relationships, an identification unit to identify working area sets, and a determination unit to determine optimal relative positional relationships based on these simulations, facilitating efficient workpiece processing.

Benefits of technology

Enables easy planning of robot operations for efficient workpiece processing by automating the determination of optimal relative positional relationships, thereby improving operational efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007818565000001
    Figure 0007818565000001
  • Figure 0007818565000002
    Figure 0007818565000002
  • Figure 0007818565000003
    Figure 0007818565000003
Patent Text Reader

Abstract

To easily perform planning for operation of a robot for processing a work-piece with good efficiency.SOLUTION: A control support system comprises: a simulation part that, with respect to each of ta plurality of candidate positional relationships, which is a candidate of a relative positional relationship between a work-piece of which a plurality of work areas are set and a robot, virtually executes prescribed processing in at least one work area by an end effector of the robot located at the candidate positional relationship by simulation based a work model indicating the plurality of work areas of the work-piece and a robot model indicating the robot having the end effector; a specification part that, with respect to each of the plurality of candidate positional relationships, specifies aggregation of one or more work areas processed under the candidate positional relationship in the simulation as a work area set; and a determination part that determines the relative positional relationship from the plurality of candidate positional relationships on the basis of each work area set of the plurality of candidate positional relationships.SELECTED DRAWING: Figure 3
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] One aspect of the present disclosure relates to a control assistance system, a control assistance method, and a control assistance program. [Background technology]

[0002] Cited Document 1 describes a robotic system for picking up an object from a group of objects using a robot, the system comprising a camera that provides an image of the object, a deep learning neural network that generates a segmented image of the object, means for identifying a location for picking up the object using the segmented image, and means for rotating the object using the orientation of the object in the segmented image. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] Japanese Patent Publication No. 2022-181174 Summary of the Invention [Problem to be solved by the invention]

[0004] It is desirable to facilitate planning of robot operations for efficiently processing workpieces. [Means for solving the problem]

[0005] A control assistance system according to one aspect of the present disclosure assists in the control of a robot capable of changing the relative positional relationship between a workpiece and a robot processing the workpiece. The control assistance system includes: a simulation unit that virtually executes a predetermined process in at least one working area by an end effector of the robot arranged in each of a plurality of candidate positional relationships, which are candidates for a relative positional relationship between the robot and a workpiece having a plurality of working areas set, by simulating the process based on a workpiece model representing the plurality of working areas of the workpiece and a robot model representing the robot having the end effector; an identification unit that identifies, for each of the plurality of candidate positional relationships, a set of one or more working areas processed under the candidate positional relationship in the simulation as a working area set; and a determination unit that determines a relative positional relationship from the plurality of candidate positional relationships based on the working area set for each of the plurality of candidate positional relationships.

[0006] A control assistance method according to one aspect of the present disclosure is a control assistance method that assists in the control of a robot that is capable of changing the relative positional relationship between a workpiece and a robot that processes the workpiece, and is executed by a control assistance system having at least one processor, and includes the steps of: virtually performing a predetermined process in at least one working area by an end effector of the robot arranged in a candidate positional relationship for each of a plurality of candidate positional relationships that are candidates for the relative positional relationship between the workpiece and the robot, by simulating a workpiece model that represents the plurality of working areas of the workpiece and a robot model that represents the robot having the end effector; identifying, for each of the plurality of candidate positional relationships, a set of one or more working areas processed under the candidate positional relationship in the simulation as a working area set; and determining a relative positional relationship from the plurality of candidate positional relationships based on the working area set for each of the plurality of candidate positional relationships.

[0007] A control assistance program according to one aspect of the present disclosure is a control assistance program for causing a computer to function as a control assistance system for assisting in the control of a robot capable of changing the relative positional relationship between a workpiece and a robot that processes the workpiece, and causes the computer to execute the following steps: for each of a plurality of candidate positional relationships that are candidates for the relative positional relationship between a workpiece having a plurality of working areas set and the robot, virtually performing a predetermined process in at least one working area by an end effector of the robot arranged in the candidate positional relationship through a simulation based on a workpiece model that shows the plurality of working areas of the workpiece and a robot model that shows the robot having the end effector; for each of the plurality of candidate positional relationships, identifying a set of one or more working areas processed under the candidate positional relationship in the simulation as a working area set; and determining a relative positional relationship from the plurality of candidate positional relationships based on the working area set for each of the plurality of candidate positional relationships.

[0008] A control assistance system according to one aspect of the present disclosure is a control assistance system that assists in the control of a robot that is capable of changing the relative positional relationship between a workpiece and a robot that processes the workpiece, and includes: a simulation unit that virtually performs, for each of a plurality of candidate positional relationships that are candidates for the relative positional relationship between the workpiece and the robot, a predetermined process in at least one working area by an end effector of the robot positioned in the candidate positional relationship, by simulation based on a workpiece model that represents the multiple working areas of the workpiece and a robot model that represents the robot having the end effector; an identification unit that, for each of the plurality of candidate positional relationships, identifies a collection of one or more working areas processed under the candidate positional relationship in the simulation as a working area set; and a grouping unit that sets one of the plurality of working area sets as a working area group, which is a group of one or more working areas processed by the robot in the relative positional relationship. [Effects of the Invention]

[0009] According to one aspect of the present disclosure, it is possible to easily plan robot operations for efficiently processing workpieces. [Brief explanation of the drawings]

[0010] [Figure 1] FIG. 1 is a diagram illustrating an example of application of a control assistance system. [Figure 2] FIG. 10 is a diagram showing an example of a relative positional relationship determined by the system. [Figure 3] FIG. 2 is a diagram illustrating an example of a functional configuration of the control assistance system. [Figure 4] FIG. 2 is a diagram illustrating an example of a hardware configuration of a computer used for the control assistance system. [Figure 5] 4 is a flowchart illustrating an example of processing executed by the control assistance system. [Figure 6] FIG. 10 is a diagram illustrating an example of a method for determining a relative positional relationship. [Figure 7] FIG. 10 is a diagram illustrating an example of repeated processing for determining a relative positional relationship and setting a work area group. DETAILED DESCRIPTION OF THE INVENTION

[0011] Various examples of the present disclosure will be described in detail below with reference to the accompanying drawings. In the description of the drawings, the same or equivalent elements are designated by the same reference numerals, and redundant description will be omitted.

[0012] [System Overview] The control assistance system according to the present disclosure is a computer system that assists in the control of a robot capable of changing the relative positional relationship between a workpiece having multiple working areas and a robot that processes the workpiece. The relative positional relationship between the workpiece and the robot refers to a positional relationship in which the position of one of the workpiece and the robot is determined based on the position of the other. A working area refers to a portion of the workpiece that is processed by the robot. Each working area can be an area defined by a point, a line, or a surface.

[0013] The control assistance system virtually simulates the processing of a workpiece by a robot positioned in each of a plurality of candidate positional relationships, which are candidates for the relative positional relationship. For each of the plurality of candidate positional relationships, the control assistance system identifies, based on the simulation results, a set of one or more working areas on the workpiece processed under the candidate positional relationship as a working area set. A working area set refers to a set of one or more working areas processed by the robot while the workpiece and the robot are constrained in a certain relative positional relationship. In one example, the control assistance system determines a relative positional relationship from a plurality of candidate positional relationships based on each working area set of the plurality of candidate positional relationships. In another example, the control assistance system sets one of the plurality of working area sets as a working area group, which is a group of one or more working areas on the workpiece processed by the robot in the relative positional relationship. Therefore, each working area set can also be considered a candidate for a working area group. The control assistance system may perform both the determination of the relative positional relationship and the setting of the working area group.

[0014] When multiple work areas are set on a workpiece, the work areas can be divided into several groups and the relative positional relationship between the workpiece and the robot determined for each group, allowing the robot to process the workpiece efficiently. However, it is difficult to manually group the work areas and determine the relative positional relationship. The control assistance system performs a simulation for each of several candidate positional relationships and, based on the results of the simulation, performs at least one of grouping the work areas and determining the relative positional relationship. This type of automation is expected to facilitate planning of robot operations for efficient workpiece processing.

[0015] In one example, the control assistance system controls a robot placed in a real workspace based on the relative positional relationship so that the robot processes a workpiece at a real position corresponding to the relative positional relationship. Alternatively, the control assistance system controls a robot placed in a real workspace based on the relative positional relationship and a workspace group so that the robot processes a real workspace group of a workpiece at a real position corresponding to the relative positional relationship. For example, the control assistance system generates an operation program based on the relative positional relationship (and the workspace group) and controls a real robot based on the operation program. By using the control assistance system, it is possible to easily generate robot operations for efficiently processing a workpiece.

[0016] [System Configuration] FIG. 1 is a diagram showing an example of an application of a control assistance system. The control assistance system 1 shown in this example determines the relative positional relationship between a real robot 2 in a real workspace 9 and a real workpiece 8 in which multiple work areas 80 are set. The control assistance system 1 is connected to a robot controller 3 that controls the robot 2 via a communication network. The communication network may be a wired network or a wireless network. The communication network may be configured to include at least one of the Internet and an intranet. Alternatively, the communication network may be realized simply by a single communication cable.

[0017] In the example of FIG. 1, the workpiece 8 is an H-beam, and the robot 2 performs welding in multiple working areas 80 on the H-beam. The robot 2 can move on rails that extend along the H-beam. The robot 2 may be an autonomous mobile robot (AMR) or may be supported by an automated guided vehicle (AGV). The robot 2 may operate in cooperation with a positioner that holds the workpiece 8.

[0018] The robot 2 is a device that receives power and performs a predetermined action according to a purpose to perform a useful task. In one example, the robot 2 includes multiple joints, an arm, and an end effector 2a attached to the end of the arm. The robot 2 processes a workpiece using the end effector 2a. Examples of the end effector 2a include a welding gun and a screwdriver. Each of the multiple joints has a joint axis. Some components of the robot 2, such as the arm and the rotating section, rotate around the joint axis, allowing the robot 2 to change the position and posture of the end effector 2a within a predetermined range. In one example, the robot 2 is a multi-axis serial-link vertical articulated robot. The robot 2 may be a six-axis vertical articulated robot or a seven-axis vertical articulated robot with one additional redundant axis in addition to the six axes. As described above, the robot 2 may be a self-propelled mobile robot, such as an autonomous mobile robot (AMR) or a robot supported by an automated guided vehicle (AGV). Alternatively, the robot 2 may be a stationary robot fixed in a predetermined location.

[0019] The robot controller 3 is a device that controls the robot 2 in accordance with a pre-generated operation program. In one example, the robot controller 3 calculates joint angle target values ​​(target angle values ​​of each joint of the robot 2) for matching the position and posture of the end effector 2a with target values ​​indicated in the operation program, and controls the robot 2 in accordance with the angle target values.

[0020] FIG. 2 is a diagram showing an example of a relative positional relationship determined by the control assistance system 1. In state ST1, the robot 2 is located at an initial position 201. In the conventional method 210, the position of the robot 2 relative to the workpiece 8 can be determined so that the robot 2 moves to position 211 to process three point-like working areas 81 (state ST11), and then moves to position 212 to process one linear working area 82 (state ST12). On the other hand, in the method 220 by the control assistance system 1, the relative positional relationship between the workpiece 8 and the robot 2 can be determined so that the robot 2 moves to position 221 to process three working areas 81 (state ST11), and then processes another working area 82 at that position 221 (state ST22). Because this determination does not cause the position of the robot 2 to move between state ST21 and state ST22, the method 220 by the control assistance system 1 can process the workpiece 8 more efficiently than the conventional method 210.

[0021] 3 is a diagram showing an example of the functional configuration of the control assistance system 1. In this example, the control assistance system 1 includes, as functional components, a model acquisition unit 11, a simulation unit 12, a set identification unit 13, a position / group determination unit 14, a correspondence storage unit 15, a repetition control unit 16, an adjustment unit 17, and a robot control unit 18.

[0022] The model acquisition unit 11 is a functional module that acquires model data used for simulation. The simulation unit 12 is a functional module that virtually executes a predetermined process on a workpiece by a robot 2 arranged based on a plurality of candidate positional relationships through simulation for each of the candidate positional relationships. The simulation does not actually operate the robot 2 arranged in the workspace 9, but rather simulates the operation of the robot 2 on a computer. The set identification unit 13 is a functional module that, for each of the candidate positional relationships, identifies a set of one or more workspaces processed under the candidate positional relationship as a workspace set based on the results of the simulation. The position / group determination unit 14 is a functional module that determines a relative positional relationship from multiple candidate positional relationships based on the workspace set for each of the candidate positional relationships and sets the workspace set corresponding to the relative positional relationship as a workspace group. The position / group determination unit 14 stores correspondence data indicating combinations of relative positional relationships and workspace groups in the correspondence storage unit 15. Therefore, the position / group determination unit 14 corresponds to the determination unit, grouping unit, and recording unit in this disclosure. The correspondence storage unit 15 is a functional module that stores correspondence data. The repetition control unit 16 is a functional module that controls the repetition of the processes of the simulation unit 12, the set identification unit 13, and the position / group determination unit 14. The adjustment unit 17 is a functional module that adjusts the relative positional relationship through an optimization process that uses the relative positional relationship as an initial value. The robot control unit 18 is a functional module that controls the robot 2 based on the adjusted relative positional relationship and the working area group.

[0023] The control assistance system 1 can be realized by any type of computer. The computer may be a general-purpose computer such as a personal computer or a business server, or may be incorporated into a dedicated device that executes specific processing.

[0024] 4 is a diagram showing an example of the hardware configuration of a computer 100 used for the control assistance system 1. In this example, the computer 100 includes a main body 110, a monitor 120, and an input device .

[0025] The main body 110 is a device having a circuit 160. The circuit 160 has a processor 161, a memory 162, a storage 163, an input / output port 164, and a communication port 165. The number of each hardware component may be one or more. The storage 163 records programs for configuring each functional module of the main body 110. The storage 163 is a computer-readable recording medium such as a hard disk, a non-volatile semiconductor memory, a magnetic disk, or an optical disk. The memory 162 temporarily stores programs loaded from the storage 163, calculation results of the processor 161, and the like. The processor 161 configures each functional module by executing programs in cooperation with the memory 162. The input / output port 164 inputs and outputs electrical signals to and from the monitor 120 or the input device 130 in response to instructions from the processor 161. The communication port 165 performs data communication with other devices, such as the robot controller 3, via a communication network N in response to instructions from the processor 161.

[0026] The monitor 120 is a device for displaying information output from the main body 110. For example, the monitor 120 is a device capable of displaying graphics, such as a liquid crystal panel.

[0027] The input device 130 is a device for inputting information to the main body 110. Examples of the input device 130 include operation interfaces such as a keypad, a mouse, and an operation controller.

[0028] The monitor 120 and the input device 130 may be integrated as a touch panel. For example, the main body 110, the monitor 120, and the input device 130 may be integrated as a tablet computer.

[0029] Each functional module of the control assistance system 1 is realized by loading a control assistance program onto the processor 161 or memory 162 and having the processor 161 execute the program. The control assistance program includes code for realizing each functional module of the control assistance system 1. The processor 161 operates the input / output port 164 and the communication port 165 in accordance with the control assistance program, and executes reading and writing of data from and to the memory 162 or the storage 163.

[0030] The control assistance program may be provided in a state recorded on a non-transitory recording medium such as a CD-ROM, a DVD-ROM, or a semiconductor memory. Alternatively, the control assistance program may be provided via a communication network as a data signal superimposed on a carrier wave.

[0031] [Control support method] As an example of a control assistance method according to the present disclosure, an example of processing executed by the control assistance system 1 will be described with reference to Fig. 5. Fig. 5 is a flowchart showing this example as processing flow S1. That is, the control assistance system 1 executes processing flow S1.

[0032] In step S11, the model acquisition unit 11 acquires model data. In one example, the model acquisition unit 11 acquires model data including a workpiece model representing the workpiece 8 and a robot model representing the robot 2 having the end effector 2a. Both of these models are represented by electronic data. The workpiece model represents at least multiple working areas on the workpiece 8 and may further represent the processing order of the multiple working areas and other attributes of the workpiece 8, such as shape, dimensions, etc. The robot model represents specifications for the robot 2 and the end effector 2a. The specifications may include a group of parameters related to the structure of the robot 2 and the end effector 2a, such as shape, dimensions, etc., and a group of parameters related to the function of the robot 2 and the end effector 2a, such as the movable range of each joint and the performance of the end effector 2a.

[0033] In one example, the model acquisition unit 11 acquires model data specified by a user of the control assistance system 1. The model acquisition unit 11 may read model data corresponding to the user's instruction from a predetermined storage device such as the storage 163, or may accept model data input by the user via the input device 130. In either case, when a workpiece and a robot are specified by the user, the model acquisition unit 11 acquires model data corresponding to the specification. For example, if the robot 2 can process multiple types of workpieces 8, the user may have the robot 2 process multiple types of workpieces 8 while changing the type of workpiece 8. In this case, when the user specifies the workpiece 8 to be processed next, the model acquisition unit 11 acquires a workpiece model of the specified workpiece 8.

[0034] In step S12, the simulation unit 12 sets one candidate positional relationship between the workpiece 8 and the robot 2, and executes a simulation based on this candidate positional relationship and the model data.

[0035] The simulation unit 12 generates a virtual space corresponding to the real workspace 9, generates a virtual workpiece 8 based on the workpiece model, and generates a virtual robot 2 based on the robot model. The simulation unit 12 sets the position of one of the virtual workpiece 8 and the virtual robot 2 based on the position of the other, and sets a candidate positional relationship. In one example, the simulation unit 12 sets the candidate positional relationship based on the arrangement of multiple working areas on the workpiece 8 and the arrangement of one or more working areas that have not yet belonged to a working area group. In the present disclosure, a working area that has not yet belonged to a working area group is also referred to as a "remaining working area." The simulation unit 12 may set the candidate positional relationship so that the robot 2 processes at least one of the one or more remaining working areas that should be processed first.

[0036] In one example, the simulation unit 12 sets a candidate positional relationship using an optimization method that optimizes the number of working areas that make up the working area set identified based on the simulation. The simulation unit 12 may use Bayesian optimization as the optimization method. The simulation unit 12 uses Gaussian process regression to estimate a function that indicates the relationship between the candidate positional relationship and the evaluation value, and calculates the variance that indicates the uncertainty of the function. The simulation unit 12 uses the number of working areas as the evaluation value. The simulation unit 12 calculates a predetermined acquisition function based on the result of the Gaussian process regression. The simulation unit 12 sets the candidate positional relationship that maximizes the acquisition function as a new candidate positional relationship. As another example, the simulation unit 12 may set a candidate positional relationship at predetermined intervals, or may set a candidate positional relationship randomly.

[0037] The simulation unit 12 places the robot 2 and the workpiece 8 in a virtual space based on the set candidate positional relationship. The simulation unit 12 then virtually executes a predetermined process in at least one working area by simulating the end effector 2a of the robot 2 placed in the candidate positional relationship in accordance with predetermined constraints. An example of the predetermined process is a process of fixing the workpiece 8 to another workpiece, such as welding or screwing. Examples of constraints include the robot 2 maintaining a normal posture (i.e., operating normally) during the predetermined process and not detecting interference. Interference refers to the phenomenon in which one object comes into contact with or collides with another object. Note that when a robot attempts to process a workpiece, contact between the robot and the workpiece is not considered interference. In the simulation, the robot 2 may process only one working area with the end effector 2a, or two or more working areas. The number of working areas processed by the robot 2 may be determined by the range within which the end effector 2a of the robot 2 placed in the candidate positional relationship can operate and the locations of the one or more working areas on the workpiece 8.

[0038] In step S13, the set identification unit 13 identifies a work area set based on the results of the simulation. The set identification unit 13 acquires the results of the simulation and identifies a set of one or more work areas processed under a candidate positional relationship in the simulation as a work area set. The set identification unit 13 temporarily stores pairs of candidate positional relationships and work area sets.

[0039] In one example, for each of a plurality of working areas (one or more remaining working areas), the set identification unit 13 records the number of times the working area has been processed by the end effector 2a in a simulation as the number of times it has been processed. The set identification unit 13 increments by one the number of times it has been processed corresponding to each working area processed in one simulation.

[0040] In step S14, the iterative control unit 16 determines whether to terminate the search, including the simulation and the identification of the working area set, based on a predetermined termination condition. The termination condition may be that a predetermined number of candidate positional relationships have been set, or that a predetermined calculation time has elapsed. When candidate positional relationships are set using an optimization method, the termination condition may be that the difference between the evaluation value obtained last time and the evaluation value obtained this time is equal to or less than a predetermined threshold, i.e., that the evaluation value has stagnated or converged. Alternatively, the termination condition may be that an evaluation value that satisfies a predetermined criterion has been obtained. Alternatively, the termination condition may be that the uncertainty (e.g., variance) in the overall relationship between the candidate positional relationships and the evaluation value is equal to or less than a predetermined threshold.

[0041] If the search is to continue (NO in step S14), the process returns to step S12. In the repeated step S12, the simulation unit 12 sets a new candidate positional relationship and executes a simulation based on this candidate positional relationship and the model data. In the repeated step S13, the set identification unit 13 identifies a work area set based on the results of the simulation and stores a new pair of the candidate positional relationship and the work area set. The set identification unit 13 increments by 1 the number of times processed for each work area processed in the simulation.

[0042] If the search is to be ended (YES in step S14), the process proceeds to step S15. In step S15, the position / group determination unit 14 determines a relative positional relationship from the plurality of candidate positional relationships based on the working area sets of each of the plurality of candidate positional relationships.

[0043] The position / group determination unit 14 may determine the relative positional relationship based on the number nw of working areas constituting the working area set in each of a plurality of candidate positional relationships. For example, the position / group determination unit 14 may determine the candidate positional relationship that has obtained the working area set with the largest number nw as the relative positional relationship. When two or more candidate positional relationships corresponding to two or more working area sets with the largest number nw are obtained, the position / group determination unit 14 may determine one of the two or more working area sets as the relative positional relationship based on a physical quantity related to the movement of the robot 2. Examples of such physical quantities include the distance or time required for the movement (so-called playback time).

[0044] The position / group determination unit 14 may determine the relative positional relationship based on the number of times each of the plurality of work areas has been processed. This process will be described with reference to Fig. 6. Fig. 6 is a diagram showing an example of a method for determining the relative positional relationship based on the number of times each of the work areas has been processed.

[0045] 6, it is assumed that nine work areas A1 to A9 are processed in this order. The simulation unit 12 executes a simulation for each of a plurality of candidate positional relationships. In each simulation, the set identification unit 13 identifies a work area set and increments the number of times at least one work area has been processed by one.

[0046] Assume that when the iteration control unit 16 determines that the search has ended, the number of times each of the nine work areas has been processed has been obtained, as shown in graph 300. The position / group determination unit 14 may select a work area set consisting of one or more work areas whose number of times processed meets a predetermined criterion, and determine a candidate positional relationship corresponding to the selected work area set as the relative positional relationship. For example, the position / group determination unit 14 may refer to the transition in the number of times processed according to the processing order of the work areas, and identify a set of one or more work areas whose reduction in the number of times processed is less than a predetermined threshold Td as the work area set. The threshold Td may be defined as the ratio of the number of times processed in a second work area located next to the first work area to the number of times processed in the first work area. In the example of FIG. 6, if the threshold Td is 1 / 2, the reduction in the number of times processed from work area A1 to work area A2 is less than 1 / 2, and the reduction in the number of times processed from work area A2 to work area A3 is also less than 1 / 2. However, the reduction in the number of times processed from work area A3 to work area A4 is 1 / 2 or more. Therefore, the position / group determination unit 14 selects a working area set consisting of three working areas A1 to A3, and determines a candidate positional relationship corresponding to this working area set as the relative positional relationship R1. When two or more candidate positional relationships corresponding to the working area set consisting of the working areas A1 to A3 are obtained, the position / group determination unit 14 may determine one of the two or more working area sets as the relative positional relationship R1 based on a physical quantity related to the movement of the robot 2. Examples of such physical quantities include the distance or time required for the movement (playback time).

[0047] Returning to Fig. 5, in step S16, the position / group determination unit 14 sets, as a work area group, one of the multiple work area sets that corresponds to the determined relative positional relationship. In the example of Fig. 6, the position / group determination unit 14 sets work area group G1, which is made up of three work areas A1 to A3 that correspond to relative positional relationship R1. The position / group determination unit 14 records correspondence data indicating the combination of the work area group and the relative positional relationship in the correspondence storage unit 15.

[0048] In step S17, the repeat control unit 16 determines whether all work areas have been processed. Here, "all work areas have been processed" means that a work area group has been set for each of the multiple work areas of the work 8.

[0049] If there are one or more remaining working areas that have not been processed by the robot in one or more of the relative positional relationships determined so far (NO in step S17), the repetitive control unit 16 causes the simulation unit 12, the set identification unit 13, and the position / group determination unit 14 to perform repetitive processing for the remaining working areas. In this case, the processing returns to step S12. In the repeated steps S12 to S14, the simulation unit 12 virtually executes a predetermined process in at least one of the one or more remaining working areas by simulation for each of multiple new candidate positional relationships, which are candidates for new relative positional relationships of the robot 2 with respect to the workpiece 8. The set identification unit 13 identifies a working area set for each of the multiple new candidate positional relationships. The set identification unit 13 may record the number of times each of the one or more remaining working areas has been processed. In the repeated steps S15 and S16, the position / group determination unit 14 determines one new relative positional relationship from the multiple new candidate positional relationships based on the working area set for each of the multiple new candidate positional relationships. The position / group determination unit 14 also sets the working area set corresponding to the new relative positional relationship as a new working area group. The position / group determination unit 14 records in the correspondence storage unit 15 correspondence relationship data indicating the combination of the new work area group and the new relative position relationship.

[0050] The repetitive control unit 16 causes the simulation unit 12, the set identification unit 13, and the position / group determination unit 14 to execute the corresponding processes until all of the multiple work areas belong to one of the work area groups. FIG. 7 is a diagram showing an example of the repetitive process for determining relative positional relationships and setting work area groups. In this example, it is assumed that nine work areas A1 to A9 are processed in this order. In the first loop of S12 to S16, the control assistance system 1 determines a candidate positional relationship corresponding to the work area set consisting of four work areas A1 to A4 as the relative positional relationship R1 and sets this work area set as the work area group G1. The control assistance system 1 executes the second loop of S12 to S16 for the remaining work areas A5 to A9. In this loop, the control assistance system 1 determines a candidate positional relationship corresponding to the work area set consisting of three work areas A5 to A7 as the relative positional relationship R2 and sets this work area set as the work area group G2. The control assistance system 1 executes the third loop process of S12 to S16 for the remaining work areas A8 and A9. In this loop process, the control assistance system 1 determines a candidate positional relationship corresponding to the work area set formed by the two work areas A8 and A9 as the relative positional relationship R3, and sets the work area set as the work area group G3.

[0051] Returning to FIG. 5, if all work areas have been processed (YES in step S17), the process proceeds to step S18. In step S18, the adjustment unit 17 adjusts the determined relative positional relationship. In one example, for each of one or more relative positional relationships, the adjustment unit 17 adjusts the positional relationship between the workpiece and the robot for processing one or more work areas corresponding to the relative positional relationship through an optimization process using the relative positional relationship as an initial value. The adjustment unit 17 may use Bayesian optimization as the optimization method. The adjustment unit 17 uses Gaussian process regression to estimate a function indicating the relationship between the positional relationship and the evaluation value and calculates the variance indicating the uncertainty of the function. The adjustment unit 17 may use a physical quantity related to the operation of the robot 2 as the evaluation value. Examples of such physical quantity include the distance or time required for the operation (playback time). The adjustment unit 17 calculates a predetermined acquisition function based on the results of the Gaussian process regression. The adjustment unit 17 identifies the positional relationship that maximizes the acquisition function and replaces the determined relative positional relationship with the identified positional relationship. This replacement is an example of adjusting the relative positional relationship.

[0052] In step S19, the robot control unit 18 controls the real robot 2 based on the relative positional relationship and the working area group.

[0053] The robot control unit 18 generates an operation program for controlling the actual robot 2 based on the adjusted relative positional relationship and the working area group. The robot control unit 18 generates an operation program for causing the robot 2 to process the working area group corresponding to each of one or more relative positional relationships. In one example, the robot control unit 18 generates an operation program for causing the robot 2 to move to a stop position in the workspace 9 corresponding to the relative positional relationship and process the corresponding working area group of the workpiece 8 at the stop position. The operation program includes data for controlling the robot 2, such as a path indicating the trajectory of the robot 2. The trajectory of the robot 2 refers to the path of movement of the robot 2 or its components. For example, the trajectory of the robot 2 may be the trajectory of the tip or end effector 2a.

[0054] The robot control unit 18 controls the real robot 2 based on the operation program. The robot control unit 18 controls the robot 2 placed in the workspace 9 so as to process the workpiece 8 in one or more real positional relationships in the workspace 9 corresponding to one or more relative positional relationships. For example, the robot control unit 18 controls the real robot 2 so as to move to a stop position in the real workspace 9 corresponding to the relative positional relationship, and process the workpiece 8 in one or more work areas at that stop position. The robot control unit 18 outputs the operation program to the robot controller 3, and causes the robot controller 3 to control the robot 2. The robot controller 3 operates the robot 2 based on the operation program.

[0055] [Variations] The technology according to the present disclosure has been described in detail above based on various examples. However, the present disclosure is not limited to the above examples. Various modifications can be made to the technology according to the present disclosure without departing from the spirit of the present disclosure.

[0056] The control assistance system does not have to adjust the determined relative positional relationship. Alternatively, the control assistance system may output the relative positional relationship to another computer system such as a robot control system, which may then control the real robot based on the relative positional relationship. In other words, the control assistance system does not have to include a functional module corresponding to at least one of the adjustment unit 17 and the robot control unit 18.

[0057] In the above example, the control assistance system 1 determines both the relative positional relationship and the working area group, but the control assistance system does not have to determine either the relative positional relationship or the working area group.

[0058] The hardware configuration of the system is not limited to the implementation of each functional module by executing a program. For example, at least some of the functional modules may be configured with logic circuits specialized for the respective functions, or may be configured with an ASIC (Application Specific Integrated Circuit) that integrates such logic circuits.

[0059] The processing steps of the method executed by at least one processor are not limited to the above examples. For example, some of the steps or processes described above may be omitted, or the steps may be executed in a different order. Also, any two or more of the steps described above may be combined, or some of the steps may be modified or deleted. Alternatively, other steps may be executed in addition to the steps described above.

[0060] When comparing the magnitude of two numbers within a computer system or computer, either of the two criteria "greater than or equal to" and "greater than" can be used, or either of the two criteria "less than or equal to" and "under".

[0061] [Note] As can be seen from the various examples above, the present disclosure includes the following aspects. (Appendix 1) A control support system that supports control of a robot that can change a relative positional relationship between a workpiece and a robot that processes the workpiece, a simulation unit that virtually executes a predetermined process in at least one of the work areas by an end effector of the robot disposed in each of a plurality of candidate positional relationships that are candidates for the relative positional relationship between the workpiece and the robot, the candidate positional relationship being based on a work model that indicates the plurality of work areas of the workpiece and a robot model that indicates the robot having the end effector; an identification unit that identifies, for each of the plurality of candidate positional relationships, a set of one or more of the working areas that have been processed under the candidate positional relationship in the simulation as a working area set; a determination unit that determines the relative positional relationship from the plurality of candidate positional relationships based on the working area set for each of the plurality of candidate positional relationships; A control assistance system comprising: (Appendix 2) the simulation unit sets the candidate positional relationships by an optimization method that optimizes the number of working areas that constitute the working area set identified based on the simulation. 10. The control assistance system of claim 1. (Appendix 3) the determination unit determines the relative positional relationship based on the number of the working areas that constitute the working area set in each of the plurality of candidate positional relationships. 3. A control assistance system according to claim 1 or 2. (Appendix 4) the specifying unit specifies, for each of the plurality of working areas, the number of times that the working area has been processed by the end effector in the simulation as a processed number; the determination unit determines the relative positional relationship based on the number of times each of the plurality of work areas has been processed. 4. A control assistance system according to any one of appendices 1 to 3. (Appendix 5) The determination unit Selecting the work area set consisting of one or more work areas whose processed counts satisfy a predetermined criterion; determining the candidate positional relationship corresponding to the selected working area set as the relative positional relationship; 5. A control assistance system as described in claim 4. (Appendix 6) a repetition control unit that, when there are one or more remaining work areas that are one or more of the work areas that are not processed by the robot in one or more of the relative positional relationships, causes the simulation unit, the identification unit, and the determination unit to execute repetitive processing for the one or more remaining work areas; the simulation unit virtually executes, by simulation, the predetermined process in at least one of the one or more remaining working areas for each of a plurality of new candidate positional relationships that are candidates for a new relative positional relationship of the robot with respect to the workpiece; the identification unit identifies the work area set for each of the plurality of new candidate positional relationships in the repeated processing; the determination unit determines the new relative positional relationship from the plurality of new candidate positional relationships based on the working area set for each of the plurality of new candidate positional relationships in the iterative processing. 6. A control assistance system according to any one of appendices 1 to 5. (Appendix 7) a grouping unit that sets the working area set corresponding to the determined relative positional relationship as a working area group that is a group of one or more working areas to be processed by the robot in the relative positional relationship; a recording unit that records the correspondence between the work area group and the relative positional relationship in a predetermined storage unit; 7. The control assistance system according to any one of Supplementary notes 1 to 6, further comprising: (Appendix 8) a repeat control unit that causes the simulation unit, the identification unit, the determination unit, and the grouping unit to execute corresponding processes until all of the plurality of work areas belong to any one of the work area groups; 8. The control assistance system according to claim 7. (Appendix 9) 9. The control assistance system according to any one of claims 1 to 8, further comprising an adjustment unit that adjusts the determined relative positional relationship by an optimization process that uses the determined relative positional relationship as an initial value. (Appendix 10) A control assistance system described in any one of Appendices 1 to 9, further comprising a robot control unit that controls the robot placed in the real workspace so that the robot moves to a stopping position in the real workspace corresponding to the determined relative positional relationship and processes the work in one or more of the work areas at the stopping position. (Appendix 11) A control support system that supports control of a robot that can change a relative positional relationship between a workpiece and a robot that processes the workpiece, a simulation unit that virtually executes a predetermined process in at least one of the work areas by an end effector of the robot disposed in each of a plurality of candidate positional relationships that are candidates for the relative positional relationship between the workpiece and the robot, the candidate positional relationship being based on a work model that indicates the plurality of work areas of the workpiece and a robot model that indicates the robot having the end effector; an identification unit that identifies, for each of the plurality of candidate positional relationships, a set of one or more of the working areas that have been processed under the candidate positional relationship in the simulation as a working area set; a grouping unit that sets one of the plurality of working area sets as a working area group that is a group of one or more working areas to be processed by the robot in the relative positional relationship; A control assistance system comprising: (Appendix 12) 1. A control assistance method for assisting control of a robot capable of changing a relative positional relationship between a workpiece and a robot that processes the workpiece, the method being executed by a control assistance system having at least one processor, comprising: a step of virtually executing a predetermined process in at least one of the work areas by an end effector of the robot arranged in each of a plurality of candidate positional relationships that are candidates for the relative positional relationship between the workpiece and the robot, the candidate positional relationship being determined by a simulation based on a workpiece model that indicates the plurality of work areas of the workpiece and a robot model that indicates the robot having the end effector; for each of the plurality of candidate positional relationships, identifying a set of one or more of the working areas processed under the candidate positional relationship in the simulation as a working area set; determining the relative positional relationship from the plurality of candidate positional relationships based on the working area set for each of the plurality of candidate positional relationships; A control assistance method comprising: (Appendix 13) A control assistance program for causing a computer to function as a control assistance system that assists in the control of a robot capable of changing the relative positional relationship between a workpiece and a robot that processes the workpiece, comprising: a step of virtually executing a predetermined process in at least one of the work areas by an end effector of the robot arranged in each of a plurality of candidate positional relationships that are candidates for the relative positional relationship between the workpiece and the robot, the candidate positional relationship being determined by a simulation based on a workpiece model that indicates the plurality of work areas of the workpiece and a robot model that indicates the robot having the end effector; for each of the plurality of candidate positional relationships, identifying a set of one or more of the working areas processed under the candidate positional relationship in the simulation as a working area set; determining the relative positional relationship from the plurality of candidate positional relationships based on the working area set for each of the plurality of candidate positional relationships; A control assistance program that causes the computer to execute the above.

[0062] According to Supplements 1, 12, and 13, for each of a plurality of candidate positional relationships, a workpiece is virtually processed by a robot through a simulation, and a set of working areas (working area set) processed under the candidate positional relationship is identified. That is, the number of working areas processed in each candidate positional relationship is identified as each working area set. Since the relative positional relationship is determined based on these working area sets, it is possible to easily plan the robot's operation for efficiently processing the workpiece.

[0063] According to Supplementary Note 2, since the candidate positional relationships are obtained by an optimization method, candidate positional relationships that are expected to enable efficient processing of the workpiece can be automatically and efficiently set, thereby reducing the time required to determine the relative positional relationships.

[0064] The number of work areas that can be processed at one position can be closely related to the efficiency of processing the entire work. According to Appendix 3, by determining the relative positional relationship based on that number, it is possible to automatically determine the robot position that is expected to be able to process the work efficiently.

[0065] According to Supplementary Note 4, the relative positional relationship is determined by taking into account the number of times each work area is processed, which is obtained by repeating a simulation while changing the candidate positional relationship. The number of times each work area is processed can be useful in determining a set of work areas that are preferably processed at a single position. By taking this number of times into account, it is possible to determine a robot position that is more reliably expected to process workpieces efficiently.

[0066] A set of working areas whose number of times processed meets a predetermined standard is expected to contribute to efficient processing of the workpiece. According to Supplementary Note 5, by determining a candidate positional relationship corresponding to such a set of working areas as a relative positional relationship, it is possible to determine a robot position that is more reliably expected to be able to process the workpiece efficiently.

[0067] According to Supplementary Note 6, multiple relative positional relationships of the robot with respect to the workpiece are determined. Therefore, even for workpieces that require the robot to process them while moving to multiple locations, multiple relative positional relationships that are expected to enable efficient processing can be determined. For example, relative positional relationships can be determined even for workpieces whose working areas are scattered over a range wider than the robot's movable range in one location, or for workpieces whose shapes are so complex that the entire working area cannot be processed in one location.

[0068] According to Supplementary Note 7, one or more work areas to be processed are grouped based on their relative positional relationships, so it is possible to manage the correspondence between the relative positional relationships and the one or more work areas to be processed. This type of work area management can also contribute to robot operation for efficient work processing. In addition, it is possible to automatically determine work area groups with high processing efficiency, which would be difficult for humans to come up with.

[0069] According to Supplementary Note 8, a work area group is set for each of the multiple work areas. Therefore, even for work that requires the robot to process it while moving to multiple locations, multiple work area groups can be set that are expected to process it efficiently. For example, work area groups can be determined for work whose work areas are scattered over a range wider than the robot's range of motion in one location, or for work whose shape is so complex that it is not possible to process all of the work areas in one location. In addition, it is possible to automatically determine combinations of multiple work area groups that have high processing efficiency, which would be difficult for humans to come up with.

[0070] According to Supplementary Note 9, rather than simply adopting the relative positional relationship obtained by simulation, the relative positional relationship between the workpiece and the robot is finally obtained through optimization processing using the simulation results. This processing can contribute to the realization of more appropriate robot control.

[0071] According to Appendix 10, it becomes possible to have a real robot process a real workpiece more efficiently based on the determined relative positional relationship.

[0072] According to Supplementary Note 11, for each of a plurality of candidate positional relationships, workpiece processing by a robot is virtually performed by simulation, and a set of working areas processed under the candidate positional relationships (working area set) is identified. That is, the number of working areas processed in each candidate positional relationship is identified as each working area set. One of these working area sets is automatically set as a working area group, which makes it easy to plan robot operations for efficient workpiece processing. [Explanation of symbols]

[0073] 1...control support system, 2...robot, 2a...end effector, 3...robot controller, 8...work, 9...work space, 11...model acquisition unit, 12...simulation unit, 13...set identification unit, 14...group determination unit, 15...correspondence memory unit, 16...repetition control unit, 17...adjustment unit, 18...robot control unit, 80-82...work area.

Claims

1. A control support system that supports control of a robot that can change a relative positional relationship between a workpiece and a robot that processes the workpiece, a simulation unit that virtually executes a predetermined process in at least one of the work areas by an end effector of the robot that is disposed in each of a plurality of candidate positional relationships that are candidates for the relative positional relationship between the workpiece, for which a plurality of work areas are set, through a simulation based on a workpiece model that represents the plurality of work areas of the workpiece and a robot model that represents the robot having the end effector, and the simulation unit is configured such that each of the plurality of work areas is a portion of the workpiece that is processed by the robot; an identification unit that identifies, for each of the plurality of candidate positional relationships, a set of one or more of the working areas that have been processed under the candidate positional relationship in the simulation as a working area set; a determination unit that determines the relative positional relationship from the plurality of candidate positional relationships based on the working area set for each of the plurality of candidate positional relationships; A control assistance system comprising:

2. the simulation unit sets the candidate positional relationships using an optimization method that optimizes the number of working areas that make up the working area set identified based on the simulation; The optimization method comprises: estimating a function indicating a relationship between the candidate positional relationships and an evaluation value based on the number of working areas using Gaussian process regression; calculating an acquisition function based on the results of the Gaussian process regression; setting the candidate positional relationship that maximizes the acquisition function; Including, The control assistance system of claim 1 .

3. the determination unit determines the relative positional relationship based on the number of the working areas that constitute the working area set in each of the plurality of candidate positional relationships. The control assistance system according to claim 1 or 2.

4. the specifying unit executes, for each of the plurality of candidate positional relationships, a process of incrementing a number of times each of the one or more working areas processed by the end effector in the simulation based on the candidate positional relationships, thereby specifying the number of times each of the plurality of working areas has been processed; the determination unit determines the relative positional relationship based on the number of times each of the plurality of work areas has been processed. The control assistance system according to claim 1 or 2.

5. The determination unit Selecting the work area set consisting of one or more work areas whose reduction rate in the number of times processed is less than a predetermined threshold value by referring to the change in the number of times processed in accordance with the processing order of the work areas; determining the candidate positional relationship corresponding to the selected working area set as the relative positional relationship; The control assistance system according to claim 4.

6. a repetition control unit that, when there are one or more remaining work areas that are one or more of the work areas that are not processed by the robot in one or more of the relative positional relationships, causes the simulation unit, the identification unit, and the determination unit to execute repetitive processing for the one or more remaining work areas; the simulation unit virtually executes, by simulation, the predetermined process in at least one of the one or more remaining working areas for each of a plurality of new candidate positional relationships that are candidates for a new relative positional relationship of the robot with respect to the workpiece; the identification unit identifies the work area set for each of the plurality of new candidate positional relationships in the repeated processing; the determination unit determines the new relative positional relationship from the plurality of new candidate positional relationships based on the working area set for each of the plurality of new candidate positional relationships in the iterative processing. The control assistance system according to claim 1 or 2.

7. a grouping unit that sets the working area set corresponding to the determined relative positional relationship as one or more working areas to be processed by the robot in the relative positional relationship; a recording unit that records a correspondence relationship between the one or more set work areas and the determined relative positional relationship in a predetermined storage unit; The control assistance system according to claim 1 or 2, further comprising:

8. a repeat control unit that causes the simulation unit, the identification unit, the determination unit, the grouping unit, and the recording unit to execute corresponding processes until the correspondence relationships are recorded for all of the plurality of work areas, The control assistance system according to claim 7.

9. an adjusting unit that adjusts the determined relative positional relationship by an optimization process that uses the determined relative positional relationship as an initial value of the positional relationship; The adjustment of the determined relative positional relationship by the optimization process is estimating a function indicating a relationship between the positional relationship and an evaluation value based on a physical quantity related to the movement of the robot using Gaussian process regression; calculating an acquisition function based on the results of the Gaussian process regression; replacing the determined relative positional relationship with a positional relationship that maximizes the acquisition function; Including, The control assistance system according to claim 1 or 2.

10. The control assistance system of claim 1 or 2 further comprises a robot control unit that controls the robot placed in the real workspace so that the robot moves to a stopping position in the real workspace corresponding to the determined relative positional relationship and processes the work in one or more of the work areas at the stopping position.

11. A control support system that supports control of a robot that can change a relative positional relationship between a workpiece and a robot that processes the workpiece, a simulation unit that virtually executes a predetermined process in at least one of the work areas by an end effector of the robot that is disposed in each of a plurality of candidate positional relationships that are candidates for the relative positional relationship between the workpiece, for which a plurality of work areas are set, through a simulation based on a workpiece model that represents the plurality of work areas of the workpiece and a robot model that represents the robot having the end effector, and the simulation unit is configured such that each of the plurality of work areas is a portion of the workpiece that is processed by the robot; an identification unit that identifies, for each of the plurality of candidate positional relationships, a set of one or more of the working areas that have been processed under the candidate positional relationship in the simulation as a working area set; a grouping unit that sets one of the plurality of working area sets as one or more working areas to be processed by the robot in the relative positional relationship; A control assistance system comprising:

12. 1. A control assistance method for assisting control of a robot capable of changing a relative positional relationship between a workpiece and a robot that processes the workpiece, the method being executed by a control assistance system having at least one processor, comprising: a step of virtually executing a predetermined process in at least one of the work areas by an end effector of the robot arranged in each of a plurality of candidate positional relationships that are candidates for the relative positional relationship between the workpiece, for which a plurality of work areas are set, through a simulation based on a workpiece model that represents the plurality of work areas of the workpiece and a robot model that represents the robot having the end effector, wherein each of the plurality of work areas is a portion of the workpiece that is processed by the robot; for each of the plurality of candidate positional relationships, identifying a set of one or more of the working areas processed under the candidate positional relationship in the simulation as a working area set; determining the relative positional relationship from the plurality of candidate positional relationships based on the working area set for each of the plurality of candidate positional relationships; A control assistance method comprising:

13. A control assistance program for causing a computer to function as a control assistance system that assists in the control of a robot capable of changing the relative positional relationship between a workpiece and a robot that processes the workpiece, comprising: a step of virtually executing a predetermined process in at least one of the work areas by an end effector of the robot arranged in each of a plurality of candidate positional relationships that are candidates for the relative positional relationship between the workpiece, for which a plurality of work areas are set, through a simulation based on a workpiece model that represents the plurality of work areas of the workpiece and a robot model that represents the robot having the end effector, wherein each of the plurality of work areas is a portion of the workpiece that is processed by the robot; for each of the plurality of candidate positional relationships, identifying a set of one or more of the working areas processed under the candidate positional relationship in the simulation as a working area set; determining the relative positional relationship from the plurality of candidate positional relationships based on the working area set for each of the plurality of candidate positional relationships; A control assistance program that causes the computer to execute the above.

Citation Information

Patent Citations

  • Teaching data creating method for robot

    JP2007144538A

  • Layout setting method, and layout setting device

    JP2018020410A

  • Object bin picking with rotation compensation

    JP2022181174A

  • Planning system, planning method, and planning program

    JP2023069759A