Control support system, control support method, and control support program
The control support system automates the planning of robot operations by simulating and optimizing relative positional relationships and work area groups, addressing the challenge of efficiently processing workpieces with multiple areas.
Patent Information
- Application Number
- JP2023216158
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-12-21
- Publication Date
- 2025-07-03
- Estimated Expiration
- 2043-12-21
AI Technical Summary
Existing technologies face challenges in efficiently planning robot operations for processing workpieces with multiple areas, as manual grouping and determination of relative positional relationships are difficult.
A control support system that virtually simulates robot operations based on workpiece and robot models to determine optimal relative positional relationships and work area groups, using simulation and optimization methods to automate the planning process.
Facilitates efficient robot operation planning by determining optimal positional relationships and work area groups, reducing manual effort and improving processing efficiency.
Smart Images

Figure 2025099475000001_ABST
Abstract
Description
Technical Field
[0001] One aspect of the present disclosure relates to a control support system, a control support method, and a control support program.
Background Art
[0002] Citation Document 1 describes a robot system for picking up one object from a group of objects using a robot. This system includes a camera that provides an image of the object, a deep learning neutral 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
Summary of the Invention
Problems to be Solved by the Invention
[0004] It is desired to facilitate the planning of robot operations for efficiently processing work.
Means for Solving the Problems
[0005] A control support system according to an aspect of the present disclosure supports the control of a robot capable of changing the relative positional relationship between a workpiece and the robot that processes the workpiece. This control support system, for each of a plurality of candidate positional relationships that are candidates for the relative positional relationship between a workpiece having a plurality of work areas and the robot, virtually executes, by simulation based on a workpiece model indicating the plurality of work areas of the workpiece and a robot model indicating the robot having an end effector, a predetermined process in at least one work area by the end effector of the robot arranged in the candidate positional relationship; a specifying unit that specifies, for each of the plurality of candidate positional relationships, a set of one or more work areas processed under the candidate positional relationship in the simulation as a work area set; and a determining unit that determines a relative positional relationship from the plurality of candidate positional relationships based on each work area set of the plurality of candidate positional relationships.
[0006] A control support method according to an aspect of the present disclosure supports the control of a robot capable of changing the relative positional relationship between a workpiece and the robot that processes the workpiece, and is a control support method executed by a control support system including at least one processor, the method including: virtually executing, for each of a plurality of candidate positional relationships that are candidates for the relative positional relationship between a workpiece having a plurality of work areas and the robot, a predetermined process in at least one work area by the end effector of the robot arranged in the candidate positional relationship, by simulation based on a workpiece model indicating the plurality of work areas of the workpiece and a robot model indicating the robot having an end effector; specifying, for each of the plurality of candidate positional relationships, a set of one or more work areas processed under the candidate positional relationship in the simulation as a work area set; and determining a relative positional relationship from the plurality of candidate positional relationships based on each work area set of the plurality of candidate positional relationships.
[0007] A control support program according to an aspect of the present disclosure is a control support program for causing a computer to function as a control support system that supports control of a robot capable of changing a relative positional relationship between a workpiece and the robot that processes the workpiece. For each of a plurality of candidate positional relationships that are candidates for the relative positional relationship between the workpiece with a plurality of work areas set and the robot, a predetermined process in at least one work area by the end effector of the robot arranged in the candidate positional relationship is virtually executed by simulation based on a workpiece model showing the plurality of work areas of the workpiece and a robot model showing the robot having the end effector; for each of the plurality of candidate positional relationships, specifying, as a work area set, a set of one or more work areas processed under the candidate positional relationship in the simulation; and causing the computer to execute a step of determining a relative positional relationship from the plurality of candidate positional relationships based on the work area sets of the plurality of candidate positional relationships.
[0008] A control support system according to an aspect of the present disclosure is a control support system that supports control of a robot capable of changing a relative positional relationship between a workpiece and the robot that processes the workpiece. The control support system includes a simulation unit that virtually executes a predetermined process in at least one work area by the 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 with a plurality of work areas set and the robot, by simulation based on a workpiece model showing the plurality of work areas of the workpiece and a robot model showing the robot having the end effector; a specifying unit that specifies, as a work area set, a set of one or more work areas processed under the candidate positional relationship in the simulation for each of the plurality of candidate positional relationships; and a grouping unit that sets one of the plurality of work area sets as a work area group that is a group of one or more work areas to be processed by the robot in the relative positional relationship.
Effect of the Invention
[0009] According to one aspect of the present disclosure, it is possible to facilitate the planning of robot operations for efficiently processing work.
Brief Description of the Drawings
[0010]
Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Figure 6
Figure 7
Modes for Carrying Out the Invention
[0011] Hereinafter, various examples in the present disclosure will be described in detail with reference to the accompanying drawings. In the description of the drawings, the same or equivalent elements are denoted by the same reference numerals, and redundant descriptions are omitted.
[0012] [Overview of the System] The control support system according to the present disclosure is a computer system that supports the control of a robot capable of changing the relative positional relationship between a work having a plurality of work areas set thereon and the robot that processes the work. The relative positional relationship between the work and the robot refers to a positional relationship in which the position of one of the work and the robot is used as a reference to determine the position of the other. The work area refers to a part on the work processed by the robot. Each work area can be an area defined by a point, a line, or a plane.
[0013] For each of a plurality of candidate positional relationships that are candidates for the relative positional relationship, the control support system virtually executes, by simulation, the processing of the workpiece by the robot arranged in the candidate positional relationship. For each of the plurality of candidate positional relationships, the control support system specifies, based on the simulation result, a set of one or more work areas on the workpiece processed under the candidate positional relationship as a work area set. The work area set refers to a set of one or more work areas processed by the robot in a state where the workpiece and the robot are constrained by a certain relative positional relationship. In one example, the control support system determines the relative positional relationship from the plurality of candidate positional relationships based on the work area set of each of the plurality of candidate positional relationships. In another example, the control support system sets one of the plurality of work area sets as a work area group that is a group of one or more work areas on the workpiece processed by the robot in the relative positional relationship. Therefore, it can be said that each individual work area set is a candidate for the work area group. The control support system may execute both the determination of the relative positional relationship and the setting of the work area group.
[0014] When a plurality of work areas are set on the workpiece, by dividing those work areas into several groups and determining the relative positional relationship between the workpiece and the robot for each group, the robot can be made to process the workpiece efficiently. However, it is difficult to manually perform such grouping of work areas and determination of the relative positional relationship. The control support system executes a simulation for each of the plurality of candidate positional relationships and executes at least one of the grouping of work areas and the determination of the relative positional relationship based on the result of the simulation. It can be expected that such automation will facilitate the planning of the robot operation for efficiently processing the workpiece.
[0015] In one example, based on the relative positional relationship, the control support system controls the robot disposed in the actual working space to process the workpiece at the actual position corresponding to the relative positional relationship. Alternatively, based on the relative positional relationship and the work area group, the control support system controls the robot disposed in the actual working space to process the actual work area group of the workpiece at the actual position corresponding to the relative positional relationship. For example, the control support system generates an operation program based on the relative positional relationship (and the work area group), and controls the actual robot based on the operation program. By using the control support system, it is possible to easily generate robot operations for efficiently processing workpieces.
[0016] [Configuration of the System] FIG. 1 is a diagram showing an example of the application of the control support system. The control support system 1 shown in this example determines the relative positional relationship between the actual robot 2 in the actual working space 9 and the actual workpiece 8 in which a plurality of work areas 80 are set. The control support system 1 is connected to the 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 simply realized 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 a plurality of work areas 80 on the H-beam. The robot 2 can move on a rail provided so as to 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 operation according to the purpose to execute useful work. In one example, the robot 2 includes a plurality of joints, an arm, and an end effector 2a attached to the tip of the arm. The robot 2 processes the workpiece using the end effector 2a. Examples of the end effector 2a include a welding gun and a screw tightening device. A joint axis is set for each of the plurality of joints. Some components of the robot 2, such as the arm and the swivel unit, rotate around the joint axis. As a result, the robot 2 can change the position and orientation of the end effector 2a within a predetermined range. In one example, the robot 2 is a multi-axis serial link type vertical articulated robot. The robot 2 may be a 6-axis vertical articulated robot or a 7-axis vertical articulated robot with one redundant axis added to the 6 axes. As described above, the robot 2 may also be a self-propelled mobile robot, for example, 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 to a predetermined location.
[0019] The robot controller 3 is a device that controls the robot 2 according to a pre-generated operation program. In one example, the robot controller 3 calculates a joint angle target value (the angle target value of each joint of the robot 2) for matching the position and orientation of the end effector 2a with the target value indicated in the operation program, and controls the robot 2 according to the angle target value.
[0020] FIG. 2 is a diagram showing an example of the relative positional relationship determined by the control support system 1. In state ST1, the robot 2 is arranged at the initial position 201. In the conventional method 210, the position of the robot 2 with respect to the workpiece 8 can be determined such that it moves to the position 211 and processes three dot-shaped work areas 81 (state ST11), and then moves to the position 212 and processes one linear work area 82 (state ST12). On the other hand, in the method 220 by the control support system 1, the relative positional relationship between the workpiece 8 and the robot 2 can be determined such that it moves to the position 221 and processes three work areas 81 (state ST11), and further processes the work area 82 at the position 221 (state ST22). By this determination, since the position of the robot 2 does not move between state ST21 and state ST22, the method 220 by the control support system 1 can process the workpiece 8 more efficiently than the conventional method 210.
[0021] FIG. 3 is a diagram showing an example of the functional configuration of the control support system 1. In this example, the control support system 1 includes 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 as functional components.
[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, by simulation, a predetermined process that the robot 2 arranged based on each of a plurality of candidate positional relationships performs on a workpiece. The simulation is a process of virtually expressing the operation of the robot 2 on a computer instead of actually operating the robot 2 arranged in the work space 9. The set identification unit 13 is a functional module that, for each of a plurality of candidate positional relationships, identifies, based on the result of the simulation, a set of one or more work areas processed under the candidate positional relationship as a work area set. The position / group determination unit 14 is a functional module that determines a relative positional relationship from a plurality of candidate positional relationships based on the work area sets of the respective candidate positional relationships and sets the work area set corresponding to the relative positional relationship as a work area group. The position / group determination unit 14 stores correspondence relationship data indicating a combination of the relative positional relationship and the work area group in the correspondence storage unit 15. Therefore, the position / group determination unit 14 corresponds to the determination unit, the grouping unit, and the recording unit in the present disclosure. The correspondence storage unit 15 is a functional module that stores the correspondence relationship 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 by an optimization process using 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 work area group.
[0023] The control support system 1 can be realized by an arbitrary 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] FIG. 4 is a diagram showing an example of the hardware configuration of a computer 100 used for the control support system 1. In this example, the computer 100 includes a main body 110, a monitor 120, and an input device 130.
[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 1 or 2 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 a program 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 a command 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 according to a command 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 graphic display 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 like a tablet computer.
[0029] Each functional module of the control support system 1 is realized by causing the processor 161 to load a control support program onto the processor 161 or the memory 162 and execute the program. The control support program includes code for realizing each functional module of the control support system 1. The processor 161 operates the input / output port 164 and the communication port 165 according to the control support program, and reads and writes data in the memory 162 or the storage 163.
[0030] The control support program may be provided after being recorded on a non-transitory recording medium such as a CD-ROM, a DVD-ROM, or a semiconductor memory. Alternatively, the control support 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 the control support method according to the present disclosure, an example of the process executed by the control support system 1 will be described with reference to FIG. 5. FIG. 5 is a flowchart showing the example as a process flow S1. That is, the control support system 1 executes the process 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 work model showing the work 8 and a robot model showing the robot 2 having the end effector 2a. These models are all represented by electronic data. The work model may at least show a plurality of work areas on the work 8, and may further show the processing order of the plurality of work areas and other attributes of the work 8 such as shape and dimensions. The robot model shows the specifications regarding the robot 2 and the end effector 2a. The specifications may include a parameter group regarding the structure of the robot 2 and the end effector 2a such as shape and dimensions, and a parameter group regarding the functions 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 the user of the control support system 1. The model acquisition unit 11 may read out model data corresponding to a user instruction from a predetermined storage device such as the storage 163, or may receive model data input by the user via the input device 130. In any case, when the work and the robot are specified by the user, the model acquisition unit 11 acquires model data corresponding to the specification. For example, when the robot 2 can process a plurality of types of workpieces 8, the user can cause the robot 2 to process a plurality of types of workpieces 8 while changing the type of the workpiece 8. In this case, when the user specifies the workpiece 8 to be processed next, the model acquisition unit 11 acquires the 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 actual work space 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 the other based on the position of one of the virtual workpiece 8 and the virtual robot 2 to set the candidate positional relationship. In one example, the simulation unit 12 sets the candidate positional relationship based on the arrangement of a plurality of work areas on the workpiece 8 and the arrangement of one or more work areas that do not yet belong to the work area group. In the present disclosure, a work area that does not yet belong to the work area group is also referred to as a "remaining work area". The simulation unit 12 may set the candidate positional relationship so that at least the robot 2 processes the work area to be processed first among the one or more remaining work areas.
[0036] In one example, the simulation unit 12 sets candidate positional relationships by an optimization method that optimizes the number of work areas that make up a set of work areas specified based on 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 showing the relationship between the candidate positional relationship and the evaluation value, and calculates the variance showing the uncertainty of the function. The simulation unit 12 uses the number of work areas as the evaluation value. The simulation unit 12 calculates a predetermined acquisition function based on the result of Gaussian process regression. The simulation unit 12 sets, as a new candidate positional relationship, the candidate positional relationship at which the acquisition function is maximized. As another example, the simulation unit 12 may set candidate positional relationships at predetermined intervals, or may set candidate positional relationships randomly.
[0037] The simulation unit 12 arranges the robot 2 and the workpiece 8 in the virtual space based on the set candidate positional relationships. Then, the simulation unit 12 virtually executes, by simulation according to predetermined constraint conditions, a predetermined process in at least one work area by the end effector 2a of the robot 2 arranged in the candidate positional relationship. Examples of the predetermined process include processes for fixing the workpiece 8 to another workpiece, such as welding and screwing. Examples of the constraint conditions include that the robot 2 continues to take a normal posture (i.e., operates normally) in the predetermined process and that no interference is detected. Interference refers to a phenomenon in which one object contacts or collides with another object. Note that when a robot attempts to process a certain workpiece, the contact between the robot and the workpiece is not interference. In the simulation, the robot 2 may process only one work area by the end effector 2a, or may process two or more work areas. The number of work areas processed by the robot 2 may be determined by the range in which the end effector 2a of the robot 2 arranged in the candidate positional relationship can operate and the positions of one or more work areas on the workpiece 8.
[0038] In step S13, the set identification unit 13 identifies a work area set based on the result of the simulation. The set identification unit 13 acquires the result of the simulation and identifies, as the work area set, a set of one or more work areas that have been processed under the candidate positional relationship in the simulation. The set identification unit 13 temporarily stores a pair of the candidate positional relationship and the work area set.
[0039] In one example, the set identification unit 13 records, for each of a plurality of work areas (one or more remaining work areas), the number of times the work area has been processed by the end effector 2a in the simulation as the number of times processed. The set identification unit 13 increments by one the number of times processed corresponding to each work area processed in one simulation.
[0040] In step S14, the repetition control unit 16 determines whether to end the search including the simulation and the identification of the work area set based on a predetermined end condition. The end condition may be that a predetermined number of candidate positional relationships have been set, or that a predetermined calculation time has elapsed. When setting candidate positional relationships by an optimization method, the end 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, that is, the evaluation value has stopped or converged. Alternatively, the end condition may be that an evaluation value satisfying a predetermined criterion has been obtained. Alternatively, the end condition may be that the uncertainty (for example, variance) in the overall relationship between the candidate positional relationship and the evaluation value is equal to or less than a predetermined threshold.
[0041] If exploration continues (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 result 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 of processing corresponding to each work area processed in the simulation.
[0042] If exploration ends (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 a plurality of candidate positional relationships based on the work area sets of the respective plurality of candidate positional relationships.
[0043] The position / group determination unit 14 may determine the relative positional relationship based on the number nw of work areas constituting the work area set in each of the plurality of candidate positional relationships. For example, the position / group determination unit 14 may determine as the relative positional relationship the candidate positional relationship in which the work area set with the largest number nw is obtained. When two or more candidate positional relationships corresponding to two or more work area sets with the largest number nw are obtained, the position / group determination unit 14 may determine one of the two or more work area sets as the relative positional relationship based on a physical quantity related to the operation of the robot 2. Examples of the physical quantity include the distance or time required for the operation (so-called playback time).
[0044] The position / group determination unit 14 may determine the relative positional relationship based on the number of times of processing of each of the plurality of work areas. This process will be described with reference to FIG. 6. FIG. 6 is a diagram showing an example of a method for determining a relative positional relationship based on the number of times of processing.
[0045] In the example of FIG. 6, it is assumed that nine work areas A1 to A9 are processed in this order. The simulation unit 12 executes simulations for each of a plurality of candidate positional relationships. The set identification unit 13 identifies a work area set in each simulation and increments the number of times of being processed by 1 for at least one work area.
[0046] When the repetition control unit 16 determines that the search is finished, it is assumed that the number of times of being processed for each of the nine work areas is obtained as shown in the graph 300. The position / group determination unit 14 may select a work area set composed of one or more work areas whose number of times of being processed satisfies a predetermined criterion, and determine the 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 of the number of times of being processed according to the processing order of the work areas, and specify a set of one or more work areas whose degree of decrease in the number of times of being processed is less than a predetermined threshold value Td as the work area set. The threshold value Td may be defined by the ratio of the number of times of being processed in the second work area located next to the first work area to the number of times of being processed in the first work area. Assuming that the threshold value Td is 1 / 2 in the example of FIG. 6, the degree of decrease in the number of times of being processed from the work area A1 to the work area A2 is less than 1 / 2, and the degree of decrease in the number of times of being processed from the work area A2 to the work area A3 is also less than 1 / 2. However, the degree of decrease in the number of times of being processed from the work area A3 to the work area A4 is 1 / 2 or more. Therefore, the position / group determination unit 14 selects a work area set composed of three work areas A1 to A3, and determines the candidate positional relationship corresponding to this work area set as the relative positional relationship R1. When two or more candidate positional relationships corresponding to the work area set composed of the work areas A1 to A3 are obtained, the position / group determination unit 14 may determine one of the two or more work area sets as the relative positional relationship R1 based on a physical quantity related to the operation of the robot 2. Examples of the physical quantity include the distance or time (playback time) required for the operation.
[0047] Returning to FIG. 5, in step S16, the position / group determination unit 14 sets, as a work area group, the work area set corresponding to the determined relative positional relationship among the plurality of work area sets. In the example of FIG. 6, the position / group determination unit 14 sets a work area group G1 composed of three work areas A1 to A3 corresponding to the relative positional relationship R1. The position / group determination unit 14 records correspondence relation 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 repetition control unit 16 determines whether all the work areas have been processed. "All the work areas have been processed" here means that a work area group has been set for each of the plurality of work areas of the work 8.
[0049] If there is one or more remaining work areas that are not processed by the robot in one or more relative positional relationships determined so far (NO in step S17), the repetition control unit 16 causes the simulation unit 12, the set identification unit 13, and the position / group determination unit 14 to execute repetitive processing for the remaining work areas. In this case, the process returns to step S12. In the repeated steps S12 to S14, for each of the plurality of new candidate positional relationships that are candidates for the new relative positional relationship of the robot 2 with respect to the work 8, the simulation unit 12 virtually executes, by simulation, a predetermined process in at least one of the one or more remaining work areas. The set identification unit 13 identifies a work area set for each of the plurality of new candidate positional relationships. The set identification unit 13 can record the number of times of being processed for each of the one or more remaining work areas. In the repeated steps S15 and S16, the position / group determination unit 14 determines one new relative positional relationship from the plurality of new candidate positional relationships based on the work area set of each of the plurality of new candidate positional relationships. Further, the position / group determination unit 14 sets the work area set corresponding to the new relative positional relationship as a new work area group. The position / group determination unit 14 records correspondence relation data indicating the combination of the new work area group and the new relative positional relationship in the correspondence storage unit 15.
[0050] The repetition control unit 16 causes each of the simulation unit 12, the set identification unit 13, and the position / group determination unit 14 to execute corresponding processing until all of the plurality of work areas belong to any one of the work area groups. FIG. 7 is a diagram showing an example of the repetition process for the determination of the relative positional relationship and the setting of the work area group. Also in this example, it is assumed that nine work areas A1 to A9 are processed in this order. In the first loop process of S12 to S16, the control support system 1 determines the candidate positional relationship corresponding to the work area set composed of the four work areas A1 to A4 as the relative positional relationship R1, and sets the work area set as the work area group G1. The control support system 1 executes the second loop process of S12 to S16 for the remaining work areas A5 to A9. In this loop process, the control support system 1 determines the candidate positional relationship corresponding to the work area set composed of the three work areas A5 to A7 as the relative positional relationship R2, and sets the work area set as the work area group G2. The control support 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 support system 1 determines the candidate positional relationship corresponding to the work area set composed of 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, when 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 work and the robot for processing one or more work areas corresponding to the relative positional relationship by an optimization process using the relative positional relationship as an initial value. The adjustment unit 17 may use Bayesian optimization as its 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 an evaluation value. Examples of such physical quantities include the distance or time (playback time) required for the operation. The adjustment unit 17 calculates a predetermined acquisition function based on the result of Gaussian process regression. The adjustment unit 17 identifies the positional relationship at which the acquisition function is maximized, and replaces the determined relative positional relationship with the identified positional relationship. This replacement is an example of the adjustment of the relative positional relationship.
[0052] In step S19, the robot control unit 18 controls the actual robot 2 based on the relative positional relationship and the work 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 work area group. The robot control unit 18 generates an operation program for causing the robot 2 to process the work area group corresponding to the relative positional relationship in each of one or more relative positional relationships. In one example, the robot control unit 18 generates an operation program for moving the robot 2 to a stop position in the work space 9 corresponding to the relative positional relationship and causing the robot 2 to process the work area group of the corresponding work 8 at the stop position. The operation program includes data for controlling the robot 2 and includes, for example, a path indicating the trajectory of the robot 2. The trajectory of the robot 2 refers to the path of the movement of the robot 2 or its components. For example, the trajectory of the robot 2 may be the trajectory of the tip or the end effector 2a.
[0054] The robot control unit 18 controls the actual robot 2 based on an operation program. The robot control unit 18 controls the robot 2 disposed in the work space 9 so as to process the workpiece 8 in one or more actual positional relationships in the actual work space 9 corresponding to one or more relative positional relationships. For example, the robot control unit 18 controls the actual robot 2 so as to move to a stop position in the actual work space 9 corresponding to the relative positional relationship and process the workpiece 8 in one or more work areas at the stop position. The robot control unit 18 outputs the operation program to the robot controller 3 to cause the robot controller 3 to control the robot 2. The robot controller 3 operates the robot 2 based on the operation program.
[0055] [Modification Example] As described above, the technology according to the present disclosure has been described in detail based on various examples. However, the present disclosure is not limited to the above examples. Various modifications are possible for the technology according to the present disclosure without departing from the gist thereof.
[0056] The control support system may not adjust the determined relative positional relationship. Alternatively, the control support system may output the relative positional relationship to another computer system such as a robot control system, and the other computer system may control the actual robot based on the relative positional relationship. That is, the control support system may not 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 support system 1 determines both the relative positional relationship and the work area group, but the control support system may not determine either the relative positional relationship or the work area group.
[0058] The hardware configuration of the system is not limited to the mode of realizing each functional module by executing a program. For example, at least a part of the above-described functional module group may be configured by a logic circuit specialized for its function, or may be configured by an ASIC (Application Specific Integrated Circuit) integrating the logic circuit.
[0059] The processing procedures of the method executed by at least one processor are not limited to the above examples. For example, a part of the above-described steps or processes may be omitted, or each step may be executed in a different order. Also, any plurality of the above-described steps may be combined, or a part of the steps may be modified or deleted. Alternatively, other steps may be executed in addition to the above-described steps.
[0060] When comparing the magnitude relationship between two numerical values in a computer system or a computer, either of the two criteria of "greater than or equal to" and "greater than" may be used, and either of the two criteria of "less than or equal to" and "less than" may be used.
[0061] [Appendix] As can be understood from the various examples above, the present disclosure includes the following aspects. (Appendix 1) A control support system for supporting the control of a robot capable of changing the relative positional relationship between a workpiece and the robot that processes the workpiece, For each of a plurality of candidate positional relationships that are candidates for the relative positional relationship between the workpiece and the robot in which a plurality of work areas are set, a predetermined process in at least one of the work areas by an end effector of the robot arranged in the candidate positional relationship is virtually executed by simulation based on a workpiece model indicating the plurality of work areas of the workpiece and a robot model indicating the robot having the end effector; a simulation unit For each of the plurality of candidate positional relationships, a specifying unit that specifies, as a work area set, a set of one or more of the work areas processed under the candidate positional relationship in the simulation; A determining unit that determines the relative positional relationship from the plurality of candidate positional relationships based on the work area set of each of the plurality of candidate positional relationships; A control support system comprising: (Appendix 2) The simulation unit sets the candidate positional relationship by an optimization method that optimizes the number of work areas constituting the work area set specified based on the simulation. The control support system according to Appendix 1. (Appendix 3) The determining unit determines the relative positional relationship based on the number of work areas constituting the work area set in each of the plurality of candidate positional relationships. The control support system according to Appendix 1 or 2. (Appendix 4) The specifying unit specifies, for each of the plurality of work areas, the number of times the work area is processed by the end effector in the simulation as the number of times to be processed. The determining unit determines the relative positional relationship based on the number of times to be processed of each of the plurality of work areas. The control support system according to any one of Appendices 1 to 3. (Appendix 5) The determining unit selects a work area set composed of one or more work areas whose number of times to be processed satisfies a predetermined criterion, and determines the candidate positional relationship corresponding to the selected work area set as the relative positional relationship. The control support system according to Appendix 4. (Appendix 6) When there is one or more remaining work areas that are not processed by the robot in the above relative position relationship, the simulation unit, the specifying unit, and the determining unit are further provided with a repetition control unit that causes the repetition process for the one or more remaining work areas to be executed. In the repetition process, the simulation unit virtually executes the predetermined process in at least one of the one or more remaining work areas for each of a plurality of new candidate position relationships that are candidates for a new relative position relationship of the robot with respect to the work. In the repetition process, the specifying unit specifies the work area set for each of the plurality of new candidate position relationships. In the repetition process, the determining unit determines the new relative position relationship from the plurality of new candidate position relationships based on the work area set for each of the plurality of new candidate position relationships. The control support system according to any one of Appendices 1 to 5. (Appendix 7) A grouping unit that sets the work area set corresponding to the determined relative position relationship as a work area group that is a group of one or more work areas processed by the robot in the relative position relationship, A recording unit that records the correspondence relationship between the work area group and the relative position relationship in a predetermined storage unit, The control support system according to any one of Appendices 1 to 6, further comprising: (Appendix 8) The simulation unit, the specifying unit, the determining unit, and the grouping unit are further provided with a repetition control unit that causes the corresponding process to be executed until all of the plurality of work areas belong to one of the work area groups. The control support system according to Appendix 7. (Appendix 9) The control support system according to any one of Appendices 1 to 8, further comprising an adjusting unit that adjusts the determined relative position relationship by an optimization process using the determined relative position relationship as an initial value. (Appendix 10) The robot control unit further comprises a robot control unit for controlling the robot disposed in the real working space so as to move to a stop position in the real working space corresponding to the determined relative position relationship and process the workpiece in one or more of the working areas at the stop position. The control support system according to any one of Appendices 1 to 9. (Appendix 11) A control support system for assisting in the control of a robot capable of changing the relative position relationship between a workpiece and the robot for processing the workpiece, For each of a plurality of candidate position relationships that are candidates for the relative position relationship between the workpiece and the robot in which a plurality of working areas are set, a predetermined process in at least one of the working areas by the end effector of the robot disposed in the candidate position relationship is virtually executed by simulation based on a workpiece model indicating the plurality of working areas of the workpiece and a robot model indicating the robot having the end effector; a simulation unit; For each of the plurality of candidate position relationships, a specifying unit that specifies, as a working area set, a set of one or more of the working areas processed under the candidate position relationship in the simulation; 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 of the working areas processed by the robot in the relative position relationship; A control support system comprising: (Appendix 12) A control support method executed by a control support system that assists in the control of a robot capable of changing the relative position relationship between a workpiece and the robot for processing the workpiece and includes at least one processor, For each of a plurality of candidate positional relationships that are candidates for the relative positional relationship between the workpiece having a plurality of work areas and the robot, a predetermined process in at least one of the work areas by the end effector of the robot arranged in the candidate positional relationship is virtually executed by simulation based on a work model showing the plurality of work areas of the workpiece and a robot model showing the robot having the end effector; For each of the plurality of candidate positional relationships, specifying, as a work area set, a set of one or more of the work areas processed under the candidate positional relationship in the simulation; Based on the work area set of each of the plurality of candidate positional relationships, determining the relative positional relationship from the plurality of candidate positional relationships; A control support method including the above. (Appendix 13) A control support program for causing a computer to function as a control support system for supporting the control of a robot capable of changing the relative positional relationship between a workpiece and a robot that processes the workpiece, For each of a plurality of candidate positional relationships that are candidates for the relative positional relationship between the workpiece having a plurality of work areas and the robot, a predetermined process in at least one of the work areas by the end effector of the robot arranged in the candidate positional relationship is virtually executed by simulation based on a work model showing the plurality of work areas of the workpiece and a robot model showing the robot having the end effector; For each of the plurality of candidate positional relationships, specifying, as a work area set, a set of one or more of the work areas processed under the candidate positional relationship in the simulation; Based on the work area set of each of the plurality of candidate positional relationships, determining the relative positional relationship from the plurality of candidate positional relationships; A control support program for causing the computer to execute the above.
[0062] According to Supplementary Notes 1, 12, and 13, for each of a plurality of candidate positional relationships, the processing of the workpiece by the robot is virtually executed by simulation, and a set of work areas (work area set) processed under the candidate positional relationship is specified. That is, the number of work areas processed under each candidate positional relationship is specified as each work area set. Since the relative positional relationship is determined based on these work area sets, it is possible to facilitate the planning of the robot operation for efficiently processing the workpiece.
[0063] According to Supplementary Note 2, since the candidate positional relationship is obtained by an optimization method, it is possible to automatically and efficiently set a candidate positional relationship that is expected to be able to process the workpiece efficiently. As a result, the time for determining the relative positional relationship can be shortened.
[0064] The number of work areas that can be processed at one position can be closely related to the efficiency of the processing of the entire workpiece. According to Supplementary Note 3, by determining the relative positional relationship focusing on that number, it is possible to automatically determine the position of the robot that is expected to be able to process the workpiece efficiently.
[0065] According to Supplementary Note 4, the relative positional relationship is determined in consideration of the number of times each work area is processed obtained by repeating the simulation while changing the candidate positional relationship. The number of times processed can be useful in determining a set of work areas that are desirable to be processed at one position. By considering this number of times processed, it is possible to determine the position of the robot that is more surely expected to be able to process the workpiece efficiently.
[0066] A work area set in which the number of times processed satisfies a predetermined criterion is expected to contribute to the efficient processing of the workpiece. According to Supplementary Note 5, by determining the candidate positional relationship corresponding to such a work area set as the relative positional relationship, it is possible to determine the position of the robot that is more surely expected to be able to process the workpiece efficiently.
[0067] According to Supplementary Note 6, a plurality of relative positional relationships of the robot with respect to the workpiece are determined. Therefore, for workpieces that need to be processed while the robot moves to multiple locations, it is possible to determine a plurality of relative positional relationships that can expect efficient processing. For example, for workpieces with work areas scattered over a range wider than the movable range of the robot at one location, or workpieces with complex shapes for which not all work areas can be processed at one location, the relative positional relationship can be determined.
[0068] According to Supplementary Note 7, since one or more work areas to be processed under the relative positional relationship are grouped, the correspondence between the relative positional relationship and one or more work areas to be processed can be managed. Such management of work areas can also contribute to the robot operation for efficiently processing the workpiece. In addition, it is possible to automatically determine a work area group with high processing efficiency, which is difficult for humans to conceive.
[0069] According to Supplementary Note 8, a work area group is set for each of the plurality of work areas. Therefore, for workpieces that need to be processed while the robot moves to multiple locations, it is possible to set a plurality of work area groups that can expect efficient processing. For example, for workpieces with work areas scattered over a range wider than the movable range of the robot at one location, or workpieces with complex shapes for which not all work areas can be processed at one location, the work area group can be determined. In addition, it is possible to automatically determine a combination of a plurality of work area groups with high processing efficiency, which is difficult for humans to conceive.
[0070] According to Supplementary Note 9, instead of directly adopting the relative positional relationship obtained by simulation, the relative positional relationship between the workpiece and the robot is finally obtained by an optimization process using the simulation result. This process can contribute to the realization of more appropriate robot control.
[0071] According to Supplementary Note 10, based on the determined relative positional relationship, it becomes possible to make the actual robot process the actual workpiece more efficiently.
[0072] According to Supplementary Note 11, for each of a plurality of candidate position relationships, the processing of the work by the robot is virtually executed by simulation, and a set of work areas (work area set) processed under the candidate position relationship is specified. That is, the number of work areas processed in each candidate position relationship is specified as each work area set. Since one of these work area sets is automatically set as the work area group, it is possible to facilitate the planning of the robot operation for efficiently processing the work.
Explanation of Signs
[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 specification unit, 14…Group determination unit, 15…Corresponding storage unit, 16…Repetitive control unit, 17…Adjustment unit, 18…Robot control unit, 80 to 82…Work areas.
Claims
1. A control support system for supporting the control of a robot capable of changing the relative positional relationship between a workpiece and the robot that processes the workpiece, For each of a plurality of candidate positional relationships that are candidates for the relative positional relationship between the workpiece and the robot in which a plurality of work areas are set, a predetermined process in at least one of the work areas by the end effector of the robot arranged in the candidate positional relationship is virtually executed by simulation based on a workpiece model indicating the plurality of work areas of the workpiece and a robot model indicating the robot having the end effector; a simulation unit; For each of the plurality of candidate positional relationships, a specifying unit that specifies, as a work area set, a set of one or more of the work areas processed in the simulation under the candidate positional relationship; A determination unit that determines the relative positional relationship from the plurality of candidate positional relationships based on the work area sets of the plurality of candidate positional relationships; A control support system comprising:
2. The simulation unit sets the candidate positional relationship by an optimization method that optimizes the number of work areas constituting the work area set specified based on the simulation. The control support system according to claim 1.
3. The determination unit determines the relative positional relationship based on the number of work areas constituting the work area set in each of the plurality of candidate positional relationships. The control support system according to claim 1 or 2.
4. The specifying unit specifies, for each of the plurality of work areas, the number of times the work area is processed by the end effector in the simulation as the number of times to be processed; The determination unit determines the relative positional relationship based on the number of times to be processed of each of the plurality of work areas. The control support system according to claim 1 or 2.
5. The determination unit selects a work area set composed of one or more of the work areas in which the number of times to be processed satisfies a predetermined criterion, and determines the candidate positional relationship corresponding to the selected work area set as the relative positional relationship. The control support system according to claim 4.
6. When there is one or more remaining work areas that are one or more work areas not processed by the robot in the above relative position relationship of 1 or more, the simulation unit, the specifying unit, and the determining unit are further provided with a repetition control unit that causes the repetition process for the one or more remaining work areas to be executed. In the repetition process, the simulation unit virtually executes, by simulation, the predetermined process in at least one of the one or more remaining work areas for each of a plurality of new candidate position relationships that are candidates for a new relative position relationship of the robot with respect to the workpiece. In the repetition process, the specifying unit specifies the work area set for each of the plurality of new candidate position relationships. In the repetition process, the determining unit determines the new relative position relationship from the plurality of new candidate position relationships based on the work area sets of the respective plurality of new candidate position relationships. The control support system according to claim 1 or 2.
7. A grouping unit that sets the work area set corresponding to the determined relative position relationship as a work area group that is a group of one or more work areas processed by the robot in the relative position relationship. A recording unit that records the correspondence relationship between the work area group and the relative position relationship in a predetermined storage unit. The control support system according to claim 1 or 2, further comprising:
8. A repetition control unit that causes each of the simulation unit, the specifying unit, the determining 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. The control support system according to claim 7.
9. The control support system according to claim 1 or 2, further comprising an adjustment unit that adjusts the determined relative position relationship by an optimization process using the determined relative position relationship as an initial value.
10. A robot control unit that controls the robot arranged in the actual work space so as to move to a stop position in the actual work space corresponding to the determined relative position relationship and process the workpiece in one or more of the work areas at the stop position. The control support system according to claim 1 or 2.
11. A control support system for assisting in the control of a robot capable of changing the relative positional relationship between a workpiece and the robot that processes the workpiece, For each of a plurality of candidate positional relationships that are candidates for the relative positional relationship between the workpiece with a plurality of work areas set and the robot, a simulation is performed virtually by a simulation unit that executes a predetermined process in at least one of the work areas by an end effector of the robot arranged in the candidate positional relationship, based on a workpiece model showing the plurality of work areas of the workpiece and a robot model showing the robot having the end effector, For each of the plurality of candidate positional relationships, a specifying unit that specifies, as a work area set, a set of one or more of the work areas processed under the candidate positional relationship in the simulation, A grouping unit that sets one of the plurality of work area sets as a work area group that is a group of one or more of the work areas processed by the robot in the relative positional relationship, A control support system comprising:
12. A control support method executed by a control support system that assists in the control of a robot capable of changing the relative positional relationship between a workpiece and the robot that processes the workpiece and includes at least one processor, For each of a plurality of candidate positional relationships that are candidates for the relative positional relationship between the workpiece with a plurality of work areas set and the robot, 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 the candidate positional relationship, by simulation based on a workpiece model showing the plurality of work areas of the workpiece and a robot model showing the robot having the end effector, For each of the plurality of candidate positional relationships, a step of specifying, as a work area set, a set of one or more of the work areas processed under the candidate positional relationship in the simulation, A step of determining the relative positional relationship from the plurality of candidate positional relationships based on the work area sets of each of the plurality of candidate positional relationships, A control support method including:
13. A control support program for causing a computer to function as a control support system that supports the control of a robot capable of changing the relative positional relationship between a workpiece and the robot that processes the workpiece, For each of a plurality of candidate positional relationships that are candidates for the relative positional relationship between the workpiece having a plurality of work areas and the robot, a predetermined process in at least one of the work areas by an end effector of the robot arranged in the candidate positional relationship is virtually executed by simulation based on a workpiece model indicating the plurality of work areas of the workpiece and a robot model indicating the robot having the end effector; For each of the plurality of candidate positional relationships, identifying, as a work area set, a set of one or more of the work areas processed under the candidate positional relationship in the simulation; Based on the work area sets of the respective plurality of candidate positional relationships, determining the relative positional relationship from the plurality of candidate positional relationships; A control support program for causing the computer to execute.
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