Robot system, control method, and program

WO2026167841A1PCT designated stage Publication Date: 2026-08-13YASKAWA DENKI KK
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2025-02-07
Publication Date
2026-08-13

Smart Images

  • Figure JP2025004172_13082026_PF_FP_ABST
    Figure JP2025004172_13082026_PF_FP_ABST
Patent Text Reader

Abstract

A robot system 1 comprises: a robot 10 having an end effector 13 that performs processing on a workpiece W; an actual model generation unit 111 that generates an actual model of the workpiece W on the basis of actual measurement data of the workpiece W; a processing path generation unit 112 that generates a processing path for performing processing on the workpiece W, on the basis of the actual model; a simple model generation unit 113 that generates one or more simple models having a lower granularity than that of the actual model, on the basis of the actual measurement data or the actual model; a motion generation unit 114 that generates, on the basis of the processing path and at least one of the one or more simple models, a motion of the robot 10 so that the end effector 13 passes through the processing path without interference between the robot 10 and the workpiece W; and a control unit 115 that causes the robot 10 to execute the generated motion.
Need to check novelty before this filing date? Find Prior Art

Description

Robot system, control method, and program

[0001] The present disclosure relates to a robot system, a control method, and a program.

[0002] Patent Document 1 discloses a work system that executes an operation of welding or joining a target member. This work system includes a measurement robot that measures the shape of the target member, a plurality of work robots that perform operations on the target member, a work path generation unit that generates a work path including work position information based on the measurement data measured by the measurement robot, and a work distribution unit that divides the work path into a plurality of parts and distributes the divided work paths to the plurality of work robots.

[0003] Japanese Patent Application Laid-Open No. 2023-172561

[0004] The present disclosure provides a system that is effective for causing a robot to perform motion adapted to the state of a workpiece with high accuracy in a short processing time.

[0005] A robot system according to one aspect of the present disclosure includes a robot having an end effector that performs processing on a workpiece, a real model generation unit that generates a real model of the workpiece based on the actual measurement data of the workpiece, a processing path generation unit that generates a processing path for performing processing on the workpiece based on the real model, a simple model generation unit that generates one or more simple models having a lower granularity than the real model based on the actual measurement data, and a motion generation unit that generates a motion of the robot so that the end effector passes through the processing path without interference between the robot and the workpiece based on at least any one of the one or more simple models and the processing path, and a control unit that causes the robot to execute the generated motion.

[0006] A control method relating to another aspect of the present disclosure is a method for controlling a robot having an end effector that performs processing on a workpiece, comprising: generating a real model of the workpiece based on measured data of the workpiece; generating a processing path for performing processing on the workpiece based on the real model; generating a simplified model with lower granularity than the real model based on the measured data; generating motion of the robot based on the processing path and the simplified model such that the end effector passes through the processing path without interference between the robot and the workpiece; and causing the robot to execute the generated motion.

[0007] A program relating to yet another aspect of this disclosure is a program for generating motion for a robot having an end effector that performs processing on a workpiece, which causes the device to perform processing on the workpiece based on a real model of the workpiece generated based on actual data of the workpiece; generate a simplified model with lower granularity than the real model based on the actual data; and generate motion for the robot based on the processing path and the simplified model such that the end effector passes through the processing path without interference between the robot and the workpiece.

[0008] This disclosure provides a system that is effective in enabling a robot to perform motions adapted to the state of the workpiece with high precision in a short processing time.

[0009] This is a schematic diagram illustrating the configuration of a robot system. This is a diagram illustrating a modified control system. This is a schematic diagram illustrating the matching of a reference model to a real model. This is a diagram illustrating another modified control system. This is a diagram illustrating yet another modified control system. This is a diagram illustrating yet another modified control system. This is a diagram illustrating yet another modified control system. This is a diagram illustrating yet another modified control system. This is a diagram illustrating the hardware configuration of the control system. This is a flowchart illustrating the robot control procedure. This is a flowchart illustrating the robot control procedure. This is a flowchart illustrating the procedure for generating a reference model and relative path. This is a flowchart illustrating the procedure for updating processing conditions. This is a flowchart illustrating the procedure for correcting processing conditions during motion execution.

[0010] The embodiments will be described in detail below with reference to the drawings. In the description, the same elements or elements having the same function will be denoted by the same reference numeral, and redundant descriptions will be omitted.

[0011] [Robot System] The robot system 1 shown in Figure 1 is a system that causes the robot 10 to perform processing on a workpiece W. Processing on the workpiece W is, for example, to process at least a part of the workpiece W. The processing may be a removal process such as cutting, or a joining process such as welding, which changes the shape of the workpiece W. The robot system 1 may be an industrial robot system that performs processing on a workpiece W, which is a component of an industrial product, as part of the manufacturing process of an industrial product (for example, an automobile, construction machinery, or industrial robot).

[0012] As shown in Figure 1, the robot system 1 includes a robot 10, a three-dimensional sensor 20, and a control system 100. The robot 10 is, for example, a vertical articulated robot and includes a base 11, an articulated arm 12, and an end effector 13. The base 11 is installed on the floor, wall, or ceiling of the work area of ​​the robot 10. The base 11 may also be installed on a mobile device such as an automated guided vehicle. The articulated arm 12 is connected to the base 11. The articulated arm 12 has multiple links 15 connected sequentially from the base 11 at multiple joints 14. The end effector 13 is connected to the tip of the articulated arm 12 and acts on the workpiece W for the processing described above. Examples of the end effector 13 include a hand for gripping the workpiece W, a suction part for adsorbing the workpiece W, a tool for processing the workpiece W, and a tool for assembling the workpiece W (e.g., a fastening tool, a welding tool). The articulated arm 12 changes the position and orientation of the end effector 13 by changing the angle of each of its multiple joints 14 using an actuator such as an electric motor. The configuration of the robot 10 is an example and can be changed. For example, the robot 10 may be a SCARA type robot.

[0013] The three-dimensional sensor 20 measures the workpiece W placed in the robot 10's work field and outputs measurement data representing the measurement results. For example, the three-dimensional sensor 20 measures the three-dimensional shape of the workpiece W and outputs the measurement data in the form of point cloud data, mesh data, etc. Examples of three-dimensional sensors 20 include laser scanners (LiDAR) that measure distance using laser light, structured light scanners that acquire shape by projecting patterned light, stereo cameras that analyze images taken from different viewpoints with multiple cameras, time-of-flight (ToF) cameras that measure the reflection time of light pulses, and photogrammetry devices that analyze multiple two-dimensional images to reconstruct a three-dimensional shape.

[0014] The control system 100 controls the robot 10 to perform processing on the workpiece W. For example, the control system 100 causes the robot 10 to perform motion such that the end effector 13 passes through a predetermined processing path on the workpiece W. The processing path is information that defines the movement path of the end effector 13 and the orientation of the end effector 13 along the movement path. The processing path represents, for example, the transition of the position and orientation of the end effector 13 in a Cartesian coordinate system with the robot 10 as the reference (with the base 11 as the reference). Hereinafter, the Cartesian coordinate system with the robot 10 as the reference will be referred to as the "robot coordinate system". The processing path may also indirectly represent the transition of the position and orientation of the end effector 13 in the robot coordinate system by, for example, the position of the robot 10 in joint angle space (the angles of each of the multiple joints 14).

[0015] The workpiece W is not always precisely positioned within the robot 10's work field. Therefore, even when sequentially processing multiple workpieces W of the same type in the same work field, the position of the workpiece W in the work field may change with each processing step. In such cases, it is necessary to change the processing path each time to ensure that processing can be performed on the workpiece W without interference (e.g., collision). One possible approach is to generate and verify the processing path based on the measured results of the workpiece W each time (for example, verifying whether the robot 10 operating on the processing path will interfere with the workpiece W), and then control the robot 10 based on the generated and verified processing path. However, if the computational load for generation and verification is large, it may not be possible to generate and verify the processing path in a timely manner, potentially leading to a longer lead time.

[0016] In response to this, the control system 100 is configured to perform the following actions: generate a real model of the workpiece W based on measured data of the workpiece W; generate the above-mentioned processing path for processing the workpiece W based on the real model; generate one or more simplified models with a lower granularity than the real model based on the measured data; generate motion for the robot 10 based on at least one of the one or more simplified models and the processing path so that the end effector 13 passes through the processing path without interference between the robot 10 and the workpiece W; and cause the robot 10 to execute the generated motion.

[0017] By using a real model generated based on actual measurement data of the workpiece W, it is possible to generate motion that is adapted to the state of the workpiece W with high accuracy. On the other hand, by using a simplified model with lower granularity compared to the real model, the computational load can be reduced, and the presence or absence of interference by the generated motion can be checked in a short processing time. Therefore, it is possible to have the robot 10 perform motion that is adapted to the state of the workpiece W with high accuracy in a short processing time.

[0018] For example, the control system 100 has the following functional components (hereinafter referred to as "functional blocks"): a real model generation unit 111, a processing path generation unit 112, a simplified model generation unit 113, a motion generation unit 114, and a control unit 115. The real model generation unit 111 generates a real model of the workpiece W based on actual measurement data of the workpiece W obtained by the three-dimensional sensor 20. The measurement data represents the three-dimensional shape of the workpiece W in a coordinate system based on the three-dimensional sensor 20, for example, by a set of multiple elements. The three-dimensional shape includes size. Hereinafter, the coordinate system based on the three-dimensional sensor 20 will be referred to as the "sensor coordinate system". For example, the measurement data may include point cloud data measured from the workpiece W so as to represent the three-dimensional shape of the workpiece W by point cloud. A point cloud is a set of multiple points (an example of multiple elements), each having a position in the sensor coordinate system. The measurement data may also include mesh data that represents the three-dimensional shape of the workpiece W by a set of multiple meshes (another example of multiple elements). A mesh is an element represented by vertices, edges, and the faces that surround them. Multiple elements are not limited to the point cloud and multiple meshes exemplified; for example, multiple elements may be voxels.

[0019] The actual model is data that quantifies the three-dimensional shape of the workpiece W in the robot coordinate system. For example, the actual model generation unit 111 generates an actual model by performing a coordinate transformation from the sensor coordinate system to the robot coordinate system on the measured data of the workpiece W obtained by the three-dimensional sensor 20. The actual model generation unit 111 may further generate the actual model by trimming the output of the three-dimensional sensor 20 to extract the portion corresponding to the workpiece W. Furthermore, the actual model generation unit 111 may further generate the actual model by converting the data format of the measured data. Examples of data format conversions include conversion from point cloud data to mesh data, conversion from mesh data to point cloud data, and conversion from point cloud data or mesh data to voxel data.

[0020] The three-dimensional sensor 20 may be configured to output measured data representing the three-dimensional shape of the workpiece W in the robot coordinate system. For example, the three-dimensional sensor 20 may be configured to perform a coordinate transformation from the sensor coordinate system to the robot coordinate system on the measured data acquired in the sensor coordinate system, and then output measured data in the robot coordinate system. In this case, the actual model generation unit 111 may output the measured data acquired from the three-dimensional sensor 20 as the actual model generation result. Thus, generating an actual model based on measured data includes simply acquiring the measured data.

[0021] The processing path generation unit 112 generates the processing path described above based on the actual model. For example, the processing path generation unit 112 generates a processing path for the actual model so that the movement of the end effector 13, based on the actual model, is suitable for processing.

[0022] The simplified model generation unit 113 generates one or more simplified models with a lower granularity than the actual model, based on the measured data. Based on measured data includes indirectly based on measured data by basing the model on the actual model. Similar to the actual model, the simplified model is data that quantifies the three-dimensional shape of the workpiece W in the robot coordinate system. Granularity refers to the degree of detail. High granularity means high detail, and low granularity means low detail. For example, granularity is the density per unit area or unit volume of the multiple elements described above. Hereinafter, the density per unit area or unit volume of the multiple elements will be referred to as "element density". The simplified model generation unit 113 may generate one or more simplified models with a lower element density compared to the actual model.

[0023] For example, if the measured data includes point cloud data, the actual model generation unit 111 may generate an actual model represented by multiple elements based on multiple points included in the point cloud data, while the simplified model generation unit 113 may generate one or more simplified models represented by fewer elements than the multiple elements. By basing the model on a simplified model with fewer elements, the computational load can be reduced.

[0024] The simplified model generation unit 113 may generate at least one of one or more simplified models (hereinafter simply referred to as "simplified model") by thinning out multiple elements contained in the actual model. For example, the simplified model generation unit 113 may generate a simplified model by thinning out multiple elements contained in the actual model into unit areas of a predetermined size. The simplified model generation unit 113 may also generate a simplified model by thinning out multiple elements contained in the actual model, leaving two or more elements, and further converting two or more data formats.

[0025] The simplified model generation unit 113 may generate a simplified model in the robot coordinate system by matching a simplified model prepared in advance in a coordinate system based on the workpiece W with the actual model. Hereinafter, the coordinate system based on the workpiece W will be referred to as the "workpiece coordinate system," and the simplified model prepared in the workpiece coordinate system will be referred to as the "relative simplified model." Matching means, for example, changing the position and orientation of the model to be matched so that the difference between the model to be matched and the model to be matched is minimized. For example, the simplified model generation unit 113 calculates the position and orientation of the workpiece coordinate system relative to the robot coordinate system so that the difference between the actual model (the model to be matched) and the relative simplified model (the model to be matched) is minimized, and generates a simplified model by transforming the relative simplified model from the workpiece coordinate system to the robot coordinate system based on the calculation result.

[0026] One or more simplified models may be a single simplified model or multiple simplified models. When the simplified model generation unit 113 generates multiple simplified models as one or more simplified models, the multiple simplified models may be used differently depending on the application, as will be described later.

[0027] The motion generation unit 114 generates motion for the robot 10 based on at least one of the one or more simplified models and the processing path, such that the robot 10 and at least one of the one or more simplified models do not interfere with each other as the end effector 13 passes through the processing path. Generating motion for the robot 10 means generating data that uniquely defines the motion of each of the multiple joints 14. For example, the motion generation unit 114 may generate data that represents the motion in joint angle space (representing the motion of each of the multiple joints 14).

[0028] If the motion of each of the multiple joints 14 is uniquely determined for a single movement of the end effector 13 relative to the workpiece W (for example, if the robot system 1 does not have redundant degrees of freedom as described later), the motion generation unit 114 may generate the processing path itself as motion. The movement of the end effector 13 means a change in at least one of its position and orientation. For example, the motion generation unit 114 simulates the change in the area occupied by the robot 10 during operation based on the processing path, based on the model of the robot 10 and the processing path, and checks whether interference occurs between the area occupied by the robot 10 and the simplified model. The model of the robot 10 is data representing the shape, size, and structure of the robot 10. If it is determined that no interference occurs, the motion generation unit 114 generates motion based on the processing path. For example, the motion generation unit 114 generates a series of motion commands as motion that operate the robot 10 so that the end effector 13 passes through the processing path. Each of the motion commands may include the target position and target orientation of the end effector 13 in the robot coordinate system. Each of the multiple action commands may include the target angles of each of the multiple joints 14.

[0029] When the simplified model generation unit 113 generates multiple simplified models as one or more simplified models, the motion generation unit 114 checks whether interference occurs between the occupied area of ​​the robot 10 and each of the multiple simplified models, and if it determines that no interference occurs with any of the multiple simplified models, it may generate a processing path as motion.

[0030] If the motion of each of the multiple joints 14 is not uniquely determined for a single movement of the end effector 13 relative to the workpiece W, the motion generation unit 114 may modify the motion to avoid interference between the robot 10's occupied area and one or more simplified models. For example, the robot system 1 may have redundant degrees of freedom. Redundant degrees of freedom are degrees of freedom that enable the generation of multiple different motions for a single movement of the end effector 13 relative to the workpiece W. If the generated motion causes interference between the robot 10 and the simplified model, the motion generation unit 114 may change the state of the redundant degrees of freedom to eliminate the interference and regenerate the motion based on the changed state of the redundant degrees of freedom and the relative path. The control unit 115 causes the robot 10 to execute the motion that has been regenerated to eliminate the interference. The robot 10 can be flexibly adapted to various workpieces W and various arrangements of workpieces W.

[0031] For example, the motion generation unit 114 may repeat the following processes until there is no interference between the robot 10's occupied area and the simplified model. Process 1) Change the state of redundant degrees of freedom. Process 2) Regenerate the motion based on the changed state of redundant degrees of freedom. Process 3) Simulate the robot 10's occupied area with the regenerated motion. Process 4) Check whether or not interference occurs between the robot 10's occupied area and the simplified model.

[0032] The robot system 1 may have redundant degrees of freedom configured to change the relative position of the workpiece W with respect to 2. The relative position with respect to 2 is, for example, the relative position and orientation with respect to the base 11, and is the position and orientation of the workpiece W in a robot coordinate system with respect to the base 11. For example, the robot system 1 may further include a support base 31 and a rotary drive unit 32. The support base 31 extends vertically and supports the workpiece W from below. The rotary drive unit 32 rotates the support base 31 around a vertical axis of rotation. The rotary drive unit 32 is a redundant degree of freedom that changes the relative position of the workpiece W with respect to the base 11 by rotating the support base 31. If the state of the redundant degree of freedom that changes the relative position of the workpiece W with respect to the base 11 is changed, the relative position of the processing path with respect to the base 11 changes, and therefore the motion corresponding to the processing path also changes. Even if 2 itself does not have redundant degrees of freedom, the workpiece W can be flexibly adapted to various workpieces W and various arrangements.

[0033] The actual model generation unit 111 may generate an actual model by merging multiple sets of measured data obtained by changing the relative position of the workpiece W with respect to the base 11 using redundant degrees of freedom. For example, the actual model generation unit 111 can transform the coordinates of multiple sets of measured data into a common coordinate system and then merge them. By utilizing redundant degrees of freedom when generating the actual model, it becomes possible to include parts that were located in the blind spots of the three-dimensional sensor 20 and were not included in one set of measured data in other sets of measured data. As a result, an actual model with fewer missing parts can be easily generated.

[0034] The 2 itself may have redundant degrees of freedom. For example, the 2 may have seven or more joints so that the end effector 13 can be positioned in multiple orientations for a single position and orientation. In this case as well, the motion can be changed to eliminate interference by changing the state of the redundant degrees of freedom of the 2 itself.

[0035] The control unit 115 causes the generated motion to be executed by the 2. For example, the control unit 115 causes the motion to be executed by repeating a control cycle including the following process at a predetermined period: Process 2-1) Based on multiple motion commands, calculate the target angles of multiple joints 14 in the control cycle currently being executed. Process 2-2) Move the multiple joints 14 to the target angle (or to the vicinity of the target angle).

[0036] The control system 100 may further include a connecting path generation unit 116. Based on a simplified model, the connecting path generation unit 116 generates a connecting path to move the end effector 13 to the starting position of the next motion while avoiding interference between the robot 10 and the workpiece W. After moving the end effector 13 to the starting position based on the connecting path, the control unit 115 can generate a connecting motion that moves the end effector 13 to the starting position of the next motion while avoiding interference between the robot 10 and the workpiece W, in accordance with the actual arrangement and shape of the workpiece W. Therefore, the 2 can be adapted more flexibly to various shapes and arrangements of the workpiece W.

[0037] For example, the connecting path generation unit 116 may repeat the following processes until there is no interference between the robot 10's occupied area and the simplified model over the entire connecting path. Process 3-1) Temporarily generate waypoints for the connecting path. Process 3-2) Simulate the robot 10's occupied area when the end effector 13 is placed at the waypoints, based on the robot 10 model. Process 3-3) If the simulation result of Process 3-2 does not interfere with the simplified model, add waypoints to the connecting path. Process 3-4) Simulate the change in the robot 10's occupied area during operation based on the connecting path, based on the robot 10 model. Process 3-5) Check whether or not interference occurs between the simulation result of Process 3-4 and the simplified model.

[0038] When the simplified model generation unit 113 generates multiple simplified models, different simplified models may be used for motion generation by the motion generation unit 114 and for connecting path generation by the connecting path generation unit 116. For example, the simplified model generation unit 113 may generate one or more simplified models, such as a first simplified model and a second simplified model, each with a different granularity. At least in the portion corresponding to the processing path, the granularity of the second simplified model is higher than that of the first simplified model. The connecting path generation unit 116 may generate the connecting path based on the first simplified model, and the motion generation unit 114 may generate motion based on the second simplified model and the processing path. By generating the connecting path based on the first simplified model, which has a lower granularity than the second simplified model, the cost of generating the connecting path is reduced. By generating motion based on the second simplified model, which has a higher granularity than the first simplified model, less wasteful motion can be generated. For example, by generating motion using a simplified model optimized for processing, while using an even simpler model for connecting paths unrelated to processing, it is possible to achieve both highly accurate motion and high-speed calculation of movement to the processing area.

[0039] The control system 100 may be configured to generate a processing path by adapting a pre-prepared relative path, based on the workpiece W, to the actual model. For example, as shown in Figure 2, the control system 100 may further include a relative path storage unit 117 and a matching unit 118. The relative path storage unit 117 stores the processing path as a relative path with respect to a reference model representing the shape of the workpiece W. The reference model is data that quantifies the shape of the workpiece W in the work coordinate system. The relative path storage unit 117 stores a predetermined relative path with respect to the reference model in the work coordinate system. The relative path is information that defines the movement path of the end effector 13 and the orientation of the end effector 13 on the movement path in the work coordinate system. The matching unit 118 matches the reference model to the actual model. The processing path generation unit 112 may generate a processing path based on the matching result by the matching unit 118 and the relative path. For example, the processing path generation unit 112 generates a processing path by transforming the relative path from the work coordinate system to the robot coordinate system based on the position and orientation of the work coordinate system relative to the robot coordinate system calculated by matching. The processing path generation unit 112 may also generate a processing path by moving the relative path in accordance with the movement of the reference model for matching. Generating a processing path includes calculating the target position and target orientation on the processing path sequentially based on the position of the work W and the relative path while the control unit 115 is causing 2 to execute motion.

[0040] By aligning a predetermined relative path with the workpiece W's position, a processing path can be easily generated. Even if the workpiece W's placement changes with each operation, a single relative path can be shared as long as the corresponding reference model remains the same, thus reducing the amount of data to be stored.

[0041] The matching unit 118 may match a reference model representing the shape of the processed workpiece W to the actual model. There may be significant individual differences in the shape of the workpiece W before processing. For example, there may be significant individual differences in the shape and size of the part that is removed from the workpiece W as a result of processing. By using a reference model representing the shape of the processed workpiece W from which the part with significant individual differences has been removed, the reference model can be matched to the actual model with higher accuracy. "Processed" means that the processing performed by the end effector 13 is complete, and does not necessarily mean that the workpiece W is in its final form.

[0042] Figure 3 is a schematic diagram illustrating the matching of a reference model 140 to an actual model 130. The reference model 140 represents the shape of a machined workpiece W. For example, the reference model 140 represents the shape of a workpiece W that has undergone removal processing by an end effector 13. The relative path storage unit 117 stores the relative path 150 for removal processing in association with the reference model 140. As shown in Figure 3, the matching unit 118 matches the reference model 140 to the actual model 130 and calculates the matching result as the position and orientation of the workpiece coordinate system WCS relative to the robot coordinate system RCS. The processing path generation unit 112 generates a processing path 160 by transforming the relative path 150 from the workpiece coordinate system WCS to the robot coordinate system RCS based on the position and orientation of the workpiece coordinate system WCS relative to the robot coordinate system RCS. The processing path generation unit 112 may also generate the processing path 160 by moving the relative path 150 in accordance with the movement of the reference model 140 for matching.

[0043] As shown in FIG. 4, the control system 100 may further include a relative path generation unit 119. The relative path generation unit 119 generates a relative path 150 with respect to the reference model 140 based on the difference in shape between the matched reference model 140 and the actual model 130 by the matching unit 118. By basing on the difference between the reference model 140 representing the shape of the processed workpiece W and the actual model 130, the relative path can be easily automatically generated. Therefore, the burden on the operator for adapting to multi-variety production can be reduced. The relative path generation unit 119 stores the generated relative path 150 in the relative path storage unit 117 in association with the reference model 140. Thereby, the generated relative path 150 can be repeatedly used for the same type of workpiece W.

[0044] For example, the relative path generation unit 119 identifies the boundary line between the part where the reference model 140 and the actual model 130 match and the part where the reference model 140 and the actual model 130 do not match (hereinafter referred to as the "non-matching part"), and generates the relative path 150 so that the end effector 13 moves along the boundary line. When the processing on the workpiece W is removal processing, the part removed by the processing (for example, the riser of a casting) becomes the non-matching part. When the processing on the workpiece W is joining processing, the part added as a result of the joining processing (for example, the welding bead) becomes the non-matching part. Instead of basing on the difference between the reference model 140 and the actual model 130, the relative path generation unit 119 may generate the relative path based on the characteristic part of the reference model 140. For example, the relative path generation unit 119 may generate the relative path based on the learned model generated by machine learning so as to output the relative path according to the input of the reference model 140 and the reference model 140. As an example of the learned model, it may be a neural network generated by deep learning based on a plurality of performance records each including the reference model 140 and the setting result of the relative path.

[0045] The processing path generation unit 112 may generate a processing path 160 for the actual model 130 based on the difference in shape between the reference model 140 and the actual model 130 each time the matching unit 118 matches the reference model 140 with the actual model 130. In this case, there is no need to store the relative path 150 in the relative path storage unit 117, thus reducing the amount of data that needs to be stored and managed. The processing path generation unit 112 may generate the processing path 160 based on the feature portion of the actual model 130 instead of based on the difference between the reference model 140 and the actual model 130. For example, the processing path generation unit 112 may generate a processing path based on a trained model generated by machine learning to output a processing path in response to the input of the actual model 130, and the actual model 130. An example of a trained model is a neural network generated by deep learning based on multiple actual records, each containing the actual model 130 and the processing path setting results.

[0046] As shown in Figure 5, the control system 100 may further include a reference model generation unit 121. The reference model generation unit 121 generates a reference model based on actual measurement data of the machined workpiece W. The matching unit 118 may match the reference model generated by the reference model generation unit 121 with the actual model generated by the actual model generation unit 111. The machined workpiece W is not necessarily identical to the final form modeled at the design stage. For example, further machining may be planned for the machined workpiece W. In this way, even if a model of the machined workpiece W is not prepared at the design stage, a reference model of the machined workpiece W can be easily prepared.

[0047] For example, the reference model generation unit 121 generates a reference model by performing a coordinate transformation from the sensor coordinate system to the work coordinate system on the measured data of the processed workpiece W obtained by the three-dimensional sensor 20. The reference model generation unit 121 may further generate the reference model by trimming the output of the three-dimensional sensor 20 to extract the portion corresponding to the processed workpiece W. Furthermore, the actual model generation unit 111 may further generate the reference model by converting the data format of the measured data.

[0048] As shown in FIG. 6, the relative path storage unit 117 may store a relative path 150 in association with each of a plurality of product types. The relative path 150 is stored in association with the reference model 140 of each of the plurality of product types. The control system 100 may further include a product type identification unit 122 and a path extraction unit 123. The product type identification unit 122 identifies the product type of the work W based on the measured data of the work W. For example, the product type identification unit 122 identifies, as the product type of the work W, the product type corresponding to the reference model 140 that is closest in at least one of shape and size to the actual model 130. The path extraction unit 123 extracts the relative path 150 corresponding to the identified product type from the relative path storage unit 117.

[0049] The matching unit 118 may match the reference model 140 corresponding to the identified product type with the actual model 130. The processing path generation unit 112 may generate a processing path based on the result of the matching and the extracted relative path 150. Since a processing path corresponding to the product type of the work W is automatically generated, it is possible to more easily adapt to multi-product type production.

[0050] As shown in FIG. 7, the relative path 150 may include a relative line 151 and processing conditions 152. The relative line 151 represents the movement path of the end effector 13 when processing the work W. The processing conditions 152 include at least the transition of the posture of the end effector 13 with respect to the relative line 151. The processing conditions 152 may further include the output of the end effector 13 (for example, the output of a welding torch, the output of a gas torch, etc.). For example, the relative path 150 may be specified by a combination of the relative line 151 and the processing conditions 152. For example, the relative path storage unit 117 may store a combination of the relative line 151 and the processing conditions 152 as the relative path 150. The processing path generation unit 112 may generate a processing path based on the result of the matching, the relative line 151, and the processing conditions 152. Since the relative path 150 is managed separately into the relative line 151 and the processing conditions 152, it is possible to easily optimize the processing conditions 152 with respect to the relative line 151.

[0051] The control system 100 may further include an interface generation unit 124 and a condition update unit 125. The interface generation unit 124 generates an editing interface 170 that displays a processing image 171 for the workpiece W based on the relative line 151 and the processing conditions 152. For example, the interface generation unit 124 may simulate the processing state (operating state) of the end effector 13 with respect to the relative line 151 based on the relative line 151, the processing conditions 152, a reference model, and a model of the end effector 13, and display a processing image 171 showing the simulation result on the editing interface 170. The interface generation unit 124 may also simulate the workpiece W after the end effector 13 has performed processing based on the relative line 151 and the processing conditions 152, and display a processing image 171 showing the simulation result on the editing interface 170.

[0052] The condition update unit 125 updates the processing conditions 152 of the relative path 150 stored in the relative path storage unit 117 based on user input to the editing interface 170. This improves the workability of changing processing conditions. For example, the editing interface 170 includes, in addition to the processing image 171, multiple condition input boxes 172 for inputting setting values ​​for multiple items included in the processing conditions 152, and an update button 173. When the update button 173 is pressed by the user, the condition update unit 125 updates the processing conditions 152 based on the input contents of the multiple condition input boxes 172.

[0053] As shown in Figure 8, the control system 100 may include a processing state detection unit 126 and a condition correction unit 127. The processing state detection unit 126 detects the processing state (operation state) of the end effector 13 on the workpiece W while the robot 10 is executing the motion. For example, the processing state detection unit 126 detects the processing state of the end effector 13 on the workpiece W based on an image of the tip of the end effector 13 captured by a camera fixed to the end effector 13. The condition correction unit 127 corrects the processing conditions of the robot 10 in subsequent motions based on the processing state detection result by the processing state detection unit 126. While maintaining the target of the end effector 13's action on the relative line 151, the processing conditions 152 can be optimized in real time based on the detection result of the actual operation state.

[0054] Figure 9 is a diagram illustrating the hardware configuration of the control system 100. As shown in Figure 9, the control system 100 includes a robot controller 200 and a computing device 300 that can communicate with each other. The robot controller 200 has a circuit 210, and the computing device 300 has a circuit 310. The circuit 210 includes a CPU 211, a memory 212, a storage 213, a communication port 214, and a driver circuit 215. The storage 213 communicates with the computing device 300 and stores a program for controlling the robot 10. The program includes, for example, a real-time OS and a program for configuring the robot controller 200 to configure at least one of the above-mentioned functional blocks (for example, a control unit 115). The storage 213 includes, for example, one or more non-volatile storage media. The non-volatile storage media includes one or more storage devices. Examples of one or more storage devices include hard disk drives, solid-state drives, flash memory, etc. The non-volatile storage media may also include portable storage media such as optical discs.

[0055] Memory 212 temporarily stores the program loaded from storage 213. Memory 212 includes one or more volatile storage media. The volatile storage media includes one or more memory devices. An example of one or more memory devices is random access memory. The CPU 211 executes the program loaded into memory 212, causing the robot controller 200 to configure at least one of the above-described functional blocks. The CPU 211 may temporarily store the calculation results in memory 212. The CPU 211 includes one or more computing devices (e.g., Central Processing Units). One or more computing devices may be one or more cores.

[0056] The communication port 214 communicates with the computing unit 300 via a network in response to a request from the CPU 211. The driver circuit 215 supplies drive power to the robot 10 and the rotary drive unit 32 in response to a request from the CPU 211.

[0057] The circuit 310 includes a CPU 311, memory 312, storage 313, GPU 314, input / output port 315, and communication port 316. The storage 313 stores a program that causes the computing device 300 to execute the following: generating a processing path based on a real model, generating a simplified model based on measured data, and generating motion for the robot 10 so that the robot 10 and the workpiece W do not interfere with each other as the end effector 13 passes through the processing path based on the processing path and the simplified model. The program includes a non-real-time OS and a program that causes the computing device 300 to configure at least one of the above-described functional blocks (for example, other functional blocks of the control unit 115).

[0058] Memory 312 temporarily stores programs loaded from storage 313. Memory 312 includes one or more volatile storage media. The volatile storage media includes one or more memory devices. An example of one or more memory devices is random access memory. The CPU 311 executes the programs loaded into memory 312, and, if necessary, cooperates with the GPU 314 to configure at least one of the above-described functional blocks in the arithmetic unit 300. The CPU 311 and GPU 314 may temporarily store the calculation results in memory 312. The CPU 311 includes one or more arithmetic devices (e.g., Central Processing Units). One or more arithmetic devices may be one or more cores. The GPU 314 includes, for example, one or more arithmetic devices specialized for parallel processing (e.g., Graphics Processing Units).

[0059] The input / output port 315 controls the three-dimensional sensor 20 and acquires actual measurement data in response to a request from the CPU 311. The communication port 316 performs network communication with the communication port 214 in response to a request from the CPU 311.

[0060] The robot controller 200 and the computing device 300 may be housed together in a single enclosure. The control system 100 does not necessarily have to be configured as a separate robot controller 200 and computing device 300, and may be configured as a single device.

[0061] [Control Procedure] As an example of a control method, the control procedure executed by the control system 100 is illustrated below. This control procedure includes generating a real model based on measured data, generating a processing path based on the real model, generating a simplified model based on the measured data, generating motion for the robot 10 based on the processing path and the simplified model so that the end effector 13 passes through the processing path without interference between the robot 10 and the workpiece W, and causing the robot 10 to execute the generated motion.

[0062] For example, as shown in Figure 10, the control system 100 first executes steps S01, S02, S03, S04, and S05. In step S01, the actual model generation unit 111 waits for the completion of the placement of the workpiece W on the support base 31. In step S02, the actual model generation unit 111 acquires actual measurement data of the workpiece W from the three-dimensional sensor 20. In step S03, the actual model generation unit 111 generates an actual model of the workpiece W based on the actual measurement data. In step S04, the product type identification unit 122 identifies the product type of the workpiece W based on the actual measurement data of the workpiece W. In step S05, the path extraction unit 123 extracts the relative path corresponding to the identified product type from the relative path storage unit 117.

[0063] As shown in Figure 11, the control system 100 then executes steps S06, S07, S08, and S09. In step S06, the processing path generation unit 112 generates a processing path for the actual model so that the movement of the end effector 13, based on the actual model, becomes a movement suitable for processing. In step S07, the simplified model generation unit 113 generates one or more simplified models with a lower granularity than the actual model based on measured data. In step S08, the motion generation unit 114 generates the motion of the robot 10 based on the processing path. In step S09, the motion generation unit 114 simulates the change in the occupied range of the robot 10 during motion execution based on the model of the robot 10, and checks whether there is any interference between the occupied range of the robot 10 and the simplified model.

[0064] If interference is detected in step S09, the control system 100 executes steps S11 and S12. In step S11, the motion generation unit 114 changes the state of the redundant degrees of freedom. For example, the motion generation unit 114 rotates the support base 31 using the rotation drive unit 32. In step S12, the motion generation unit 114 regenerates the motion based on the changed state of the redundant degrees of freedom. For example, the motion generation unit 114 rotates the actual model, the simplified model, and the processing path around the rotation axis of the support base 31 in accordance with the rotation angle of the support base 31 by the rotation drive unit 32, and regenerates the motion of the robot 10 based on the rotated processing path. After that, the control system 100 returns to step S09. Thereafter, the control system 100 repeats steps S09 to S12 until it is determined that there is no interference between the occupied range of the robot 10 and the simplified model.

[0065] If it is determined that there is no interference in step S09, the control system 100 executes steps S13 and S14. In step S13, the connecting path generation unit 116 generates a connecting path. In step S14, the control unit 115 moves the end effector 13 to the starting position based on the connecting path, and then causes motion 2 to execute, thus completing the control procedure.

[0066] The control procedure may further include a procedure for generating a reference model and a relative path. This procedure is performed before step S01 described above. Figure 12 is a flowchart illustrating the procedure for generating a reference model and a relative path. As shown in Figure 12, the control system 100 performs steps S21, S22, and S23. In step S21, the reference model generation unit 121 waits for the machined workpiece W to be placed on the support base 31. In step S22, the reference model generation unit 121 acquires measured data of the machined workpiece W from the three-dimensional sensor 20. In step S23, the reference model generation unit 121 generates a reference model based on the measured data of the machined workpiece W.

[0067] Next, the control system 100 executes steps S24, S25, and S26. In step S24, the actual model generation unit 111 waits for the machined workpiece W to be placed on the support base 31. In step S25, the actual model generation unit 111 acquires measured data of the workpiece W before machining from the three-dimensional sensor 20. In step S26, the actual model generation unit 111 generates an actual model based on the measured data of the workpiece W before machining.

[0068] Next, the control system 100 executes steps S27 and S28. In step S27, the matching unit 118 matches the reference model to the actual model. In step S28, the relative path generation unit 119 generates a relative path to the reference model based on the difference in shape between the matched reference model and the actual model, and stores the relative path in the relative path storage unit 117, associating it with the reference model.

[0069] This completes the generation of the reference model and relative path. Processing may be performed on the workpiece W before machining based on the generated reference model and relative path. In this case, steps S01 to S03 described above can be omitted for the workpiece W before machining, and the actual model obtained in step S26 can be used from step S04 onwards.

[0070] The control procedure may further include a procedure for updating processing conditions. This procedure is performed in response to a user request. Figure 13 is a flowchart illustrating the procedure for updating processing conditions. As shown in Figure 13, the control system 100 executes steps S31, S32, S33, and S34. In step S31, the interface generation unit 124 waits for a user request to edit the processing conditions 152. In step S32, the interface generation unit 124 generates the editing interface described above. For example, the interface generation unit 124 displays the editing interface on a display device such as an LCD monitor. In step S33, the condition update unit 125 waits for a user to request a condition update in the editing interface. In step S34, the condition update unit 125 updates the processing conditions 152 based on the input content to the variant interface. This completes the procedure for updating processing conditions.

[0071] The control procedure may further include a procedure for correcting processing conditions during motion execution. This procedure is performed in parallel with the execution of the motion in step S14. Figure 14 is a flowchart illustrating a procedure for correcting processing conditions during motion execution. As shown in Figure 14, the control system 100 executes steps S41, S42, and S43. In step S41, the processing state detection unit 126 waits for the start of motion execution. In step S42, the processing state detection unit 126 detects the processing state of the end effector 13 for the workpiece W. In step S43, the condition correction unit 127 checks whether the detection result of the processing state is within a preset tolerance range.

[0072] In step S43, if the control system 100 determines that the detection result of the processing state is outside the acceptable range, it executes steps S44, S45, and S46. In step S44, the condition correction unit 127 corrects the processing conditions 152 so that the detection result of the processing state is within the acceptable range. In step S45, the processing path generation unit 112 corrects the processing path based on the corrected processing conditions. In step S46, the motion generation unit 114 corrects the motion based on the corrected processing path. In step S14, the motion before correction is changed to the corrected motion and the execution of the motion continues.

[0073] Next, the control system 100 executes step S47. If, in step S43, it is determined that the detection result of the processing state is within an acceptable range, the control system 100 executes step S47 without executing steps S44, S45, and S46. In step S47, the processing state detection unit 126 checks whether the motion execution has been completed. If, in step S47, it is determined that the motion execution has not been completed, the control system 100 returns to step S41. If, in step S47, it is determined that the motion execution has been completed, the procedure for correcting the processing conditions is also completed.

[0074] [Summary] (1) A robot system 1 comprising: a robot 10 having an end effector 13 that performs processing on a workpiece W; a real model generation unit 111 that generates a real model of the workpiece W based on measured data of the workpiece W; a processing path generation unit 112 that generates a processing path for performing processing on the workpiece W based on the real model; a simplified model generation unit 113 that generates one or more simplified models with lower granularity than the real model based on measured data or the real model; a motion generation unit 114 that generates motion of the robot 10 so that the end effector 13 passes through the processing path without interference between the robot 10 and the workpiece W, based on at least one of the one or more simplified models and the processing path; and a control unit 115 that causes the robot 10 to execute the generated motion. By basing the motion on a real model generated based on measured data of the workpiece W, motion adapted to the state of the workpiece W can be generated with high accuracy. On the other hand, by basing the motion on a simplified model with lower granularity compared to the real model, the computational load can be reduced and the presence or absence of interference by the generated motion can be checked quickly. Therefore, the motion of the robot 10 can be adapted quickly and with high precision to the state of the workpiece W.

[0075] (2) The robot system 1 according to (1), further comprising a connecting path generation unit 116 that generates a connecting path for moving the end effector 13 to the starting position of the motion while avoiding interference between the robot 10 and the workpiece W, based on at least one of one or more simplified models, and a control unit 115 that moves the end effector 13 to the starting position based on the connecting path and then causes the robot 10 to execute the motion. The connecting motion for moving the end effector 13 to the starting position of the motion while avoiding interference between the robot 10 and the workpiece W can be generated in accordance with the actual arrangement and shape of the workpiece W. Therefore, the robot 10 can be adapted more flexibly to various shapes and arrangements of the workpiece W.

[0076] (3) The robot system 1 according to (2), wherein the simplified model generation unit 113 generates one or more simplified models, including a first simplified model and a second simplified model whose granularity is higher than that of the first simplified model in at least the portion corresponding to the processing path, the connecting path generation unit 116 generates a connecting path based on the first simplified model, and the motion generation unit 114 generates motion based on the second simplified model and the processing path. Since motion is generated with a model optimized for processing, and a simpler model is used to generate paths for air cut paths that are not related to processing, it is possible to create more accurate motion and to perform high-speed calculations of movement to the processing area.

[0077] (4) The robot system 1 according to any one of (1) to (3), further comprising redundant degrees of freedom that enable the generation of multiple different motions for a single movement of the end effector 13 relative to the workpiece W, wherein the motion generation unit 114 changes the state of the redundant degrees of freedom to eliminate interference when there is interference between the robot 10 and at least one of the one or more simplified models, and regenerates the motion based on the changed redundant degrees of freedom and the relative path, and the control unit 115 causes the robot 10 to execute the motion regenerated to eliminate interference. The robot 10 can be flexibly adapted to various workpieces W and various arrangements of workpieces W.

[0078] (5) The robot system 1 according to (4), wherein the redundant degrees of freedom are configured to change the relative position of the workpiece W with respect to the robot 10. Even if the robot 10 itself does not have redundant degrees of freedom, the robot 10 can be flexibly adapted to various workpieces W and various arrangements.

[0079] (6) The robot system 1 according to (4) or (5), wherein the actual model generation unit 111 generates an actual model by merging multiple sets of measured data obtained by changing the relative position of the workpiece W with respect to the robot 10 using redundant degrees of freedom. By utilizing redundant degrees of freedom when generating the actual model, an actual model with few missing values ​​can be easily generated.

[0080] (7) A robot system 1 according to any one of (1) to (6), further comprising a relative path storage unit 117 that stores a processing path as a relative path with respect to a reference model representing the shape of the workpiece W, and a matching unit 118 that matches the reference model to the actual model, wherein the processing path generation unit 112 generates a processing path based on the matching result and the relative path. A processing path can be easily generated by aligning a predetermined relative path with the position of the workpiece W. Even if the arrangement of the workpiece W changes each time an operation is performed, a single relative path can be shared if the corresponding reference model is the same, thus reducing the amount of data to be stored.

[0081] (8) The robot system 1 according to (7), wherein the relative path storage unit 117 stores relative paths associated with each of a plurality of product types, the robot system 1 further comprises a product type identification unit 122 that identifies the product type of work W based on actual measurement data of the work W, and a path extraction unit 123 that extracts relative paths corresponding to the identified product type from the relative path storage unit 117, and the processing path generation unit 112 generates a processing path based on the matching result and the extracted relative path. Since a processing path corresponding to the product type of work W is automatically generated, it can be adapted to multi-product production even more easily.

[0082] (9) The robot system 1 according to (7) or (8), wherein the relative path includes a relative line representing the movement path of the end effector 13 when processing the workpiece W, and processing conditions including at least the change in the posture of the end effector 13 with respect to the relative line, and the processing path generation unit 112 generates a processing path based on the matching result, the relative line, and the processing conditions. The processing conditions for the same relative line can be easily optimized.

[0083] (10) The robot system 1 according to (9), further comprising: a processing state detection unit 126 that detects the processing state of the end effector 13 on the workpiece W while the robot 10 is performing a motion; and a condition correction unit 127 that corrects the processing conditions of the robot 10 in subsequent motions based on the detection result of the processing state. The processing conditions can be optimized based on the detection result of the processing state while maintaining the target of the end effector 13 on the relative line.

[0084] (11) The robot system 1 according to (9) or (10), further comprising: an interface generation unit 124 that generates an editing interface for displaying a processing image for the workpiece W based on relative lines and processing conditions; and a condition update unit 125 that updates the processing conditions for relative paths stored in the relative path storage unit 117 based on user input to the editing interface. The workability for changing processing conditions can be improved.

[0085] (12) The robot system 1 according to any one of (7) to (11), wherein the processing of the workpiece W is to process at least a part of the workpiece W, and the matching unit 118 matches a reference model representing the shape of the processed workpiece W to the actual model. There may be large individual differences in the shape of the workpiece W before processing. For example, there may be large individual differences in the shape and size of the part that is removed from the workpiece W as a result of processing. By using a reference model that represents the shape of the processed workpiece W from which the part that may have large individual differences has been removed, the reference model can be matched to the actual model with higher accuracy.

[0086] (13) The robot system 1 according to (12), further comprising a relative path generation unit 119 that generates a relative path to a reference model based on the difference in shape between a matched reference model and an actual model, and stores it in a relative path storage unit 117. By using the difference between a reference model representing the shape of a processed workpiece W and an actual model, a relative path can be easily and automatically generated. This reduces the burden on the operator to adapt to multi-product production.

[0087] (14) The robot system 1 according to (13), further comprising a reference model generation unit 121 that generates a reference model based on actual measurement data of a processed workpiece W. The processed workpiece W is not necessarily identical to the final form modeled at the design stage. For example, further processing may be planned for the processed workpiece W. Thus, even if a model of the processed workpiece W is not prepared at the design stage, a reference model of the processed workpiece W can be easily prepared.

[0088] (15) The robot system 1 according to any one of (1) to (14), wherein the measured data includes point cloud data measured from the workpiece W, the actual model generation unit 111 generates an actual model represented by multiple elements based on multiple points included in the point cloud data, and the simplified model generation unit 113 generates one or more simplified models represented by fewer elements than the multiple elements. The computational load can be reduced by basing the system on a simplified model with a small number of elements.

[0089] (16) A method for controlling a robot 10 having an end effector 13 that performs processing on a workpiece W, the method comprising: generating a real model of the workpiece W based on measured data of the workpiece W; generating a processing path for performing processing on the workpiece W based on the real model; generating a simplified model with lower granularity than the real model based on the measured data or the real model; generating motion for the robot 10 based on the processing path and the simplified model so that the end effector 13 passes through the processing path without interference between the robot 10 and the workpiece W; and causing the robot 10 to execute the generated motion.

[0090] (17) A program for generating motion of a robot 10 having an end effector 13 that performs processing on a workpiece W, the program causing the device to perform processing on the workpiece W based on a real model of the workpiece W generated based on actual measurement data of the workpiece W; generate a simplified model with lower granularity than the real model based on the actual measurement data or the real model; and generate motion of the robot 10 based on the processing path and the simplified model such that the robot 10 and the workpiece W do not interfere with each other and the end effector 13 passes through the processing path.

[0091] Although embodiments have been described above, this disclosure is not necessarily limited to the embodiments described above, and various modifications are possible without departing from its essence.

[0092] W...Work, 1...Robot system, 10...Robot, 13...End effector, 111...Actual model generation unit, 112...Processing path generation unit, 113...Simplified model generation unit, 114...Motion generation unit, 115...Control unit, 116...Connecting path generation unit, 117...Relative path storage unit, 118...Matching unit, 119...Relative path generation unit, 121...Reference model generation unit, 122...Product type identification unit, 123...Path extraction unit, 124...Interface generation unit, 125...Condition update unit, 126...Processing state detection unit, 127...Condition correction unit.

Claims

1. A robot system comprising: a robot having an end effector for performing processing on a workpiece; a real model generation unit for generating a real model of the workpiece based on measured data of the workpiece; a processing path generation unit for generating a processing path for performing processing on the workpiece based on the real model; a simplified model generation unit for generating one or more simplified models with a lower granularity than the real model based on the measured data or the real model; a motion generation unit for generating motion of the robot such that the end effector passes through the processing path without interference between the robot and the workpiece, based on at least one of the one or more simplified models and the processing path; and a control unit for causing the robot to execute the generated motion.

2. The robot system according to claim 1, further comprising a connecting path generation unit that generates a connecting path for moving the end effector to the starting position of the motion while avoiding interference between the robot and the workpiece, based on at least one of the one or more simplified models, wherein the control unit causes the robot to execute the motion after moving the end effector to the starting position based on the connecting path.

3. The robot system according to claim 2, wherein the simplified model generation unit generates, as one or more simplified models, a first simplified model and a second simplified model having a higher granularity than the first simplified model in at least the portion corresponding to the processing path; the connecting path generation unit generates the connecting path based on the first simplified model; and the motion generation unit generates the motion based on the second simplified model and the processing path.

4. The robot system according to claim 1, further comprising redundant degrees of freedom that enable the generation of multiple different motions for a single movement of an end effector relative to the workpiece, wherein the motion generation unit modifies the state of the redundant degrees of freedom to eliminate interference between the robot and at least one of the one or more simplified models if the generated motion causes interference, and regenerates the motion based on the modified redundant degrees of freedom, and the control unit causes the robot to execute the motion regenerated to eliminate the interference.

5. The robot system according to claim 4, wherein the redundant degrees of freedom are configured to change the relative position of the workpiece with respect to the robot.

6. The robot system according to claim 4, wherein the actual model generation unit generates the actual model by merging multiple sets of measured data obtained by changing the relative position of the workpiece with respect to the robot using the redundant degrees of freedom.

7. The robot system according to claim 1, further comprising: a relative path storage unit that stores the processing path as a relative path with respect to a reference model representing the shape of the workpiece; and a matching unit that matches the reference model with the actual model, wherein the processing path generation unit generates the processing path based on the result of the matching and the relative path.

8. The robot system according to claim 7, wherein the relative path storage unit stores the relative paths in association with each of a plurality of product types, the robot system further comprises: a product type identification unit that identifies the product type of the workpiece based on actual measurement data of the workpiece; a path extraction unit that extracts the relative paths corresponding to the identified product type from the relative path storage unit, and the processing path generation unit that generates the processing paths based on the matching results and the extracted relative paths.

9. The robot system according to claim 7, wherein the relative path includes a relative line representing the movement path of the end effector while processing the workpiece, and processing conditions including at least a change in the posture of the end effector with respect to the relative line, and the processing path generation unit generates the processing path based on the matching result, the relative line, and the processing conditions.

10. The robot system according to claim 9, further comprising: a processing state detection unit that detects the processing state of the end effector on the workpiece while the robot is performing the motion; and a condition correction unit that corrects the processing conditions of the robot in subsequent motions based on the detection result of the processing state.

11. The robot system according to claim 9, further comprising: an interface generation unit that generates an editing interface for displaying a processing image for the workpiece based on the relative line and the processing conditions; and a condition update unit that updates the processing conditions for the relative path stored in the relative path storage unit based on user input to the editing interface.

12. The robot system according to claim 7, wherein the processing of the workpiece is to process at least a portion of the workpiece, and the matching unit matches the reference model representing the shape of the processed workpiece to the actual model.

13. The robot system according to claim 12, further comprising a relative path generation unit that generates the relative path to the reference model based on the difference in shape between the matched reference model and the actual model, and stores it in the relative path storage unit.

14. The robot system according to claim 13, further comprising a reference model generation unit that generates the reference model based on actual measurement data of the processed workpiece.

15. The robot system according to claim 1, wherein the measured data includes point cloud data measured from the workpiece, the actual model generation unit generates the actual model represented by a plurality of elements based on a plurality of points included in the point cloud data, and the simplified model generation unit generates one or more simplified models represented by fewer elements than the plurality of elements.

16. A method for controlling a robot having an end effector that performs processing on a workpiece, comprising: generating a real model of the workpiece based on measured data of the workpiece; generating a processing path for performing processing on the workpiece based on the real model; generating a simplified model with lower granularity than the real model based on the measured data or the real model; generating motion of the robot based on the processing path and the simplified model such that the end effector passes through the processing path without interference between the robot and the workpiece; and causing the robot to execute the generated motion.

17. A program for generating motion for a robot having an end effector that performs processing on a workpiece, the program causing the device to perform processing on the workpiece based on a real model of the workpiece generated based on actual measurement data of the workpiece; generate a simplified model with lower granularity than the real model based on the actual measurement data or the real model; and generate motion for the robot based on the processing path and the simplified model such that the end effector passes through the processing path without interference between the robot and the workpiece.