Robot data processing server and correction program calculation method
The robot data processing server facilitates the creation of correction programs for industrial robots by integrating correction method data and historical usage, addressing environmental discrepancies and enhancing operational accuracy.
Patent Information
- Application Number
- JP2021172878
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-10-22
- Publication Date
- 2026-02-20
- Estimated Expiration
- 2041-10-22
AI Technical Summary
Existing methods for teaching industrial robots face challenges in accommodating various correction methods due to differences between the actual workplace environment and the environment during teaching, making it difficult to create correction programs that address these discrepancies effectively.
A robot data processing server that includes a communication device, storage device, and processing device, which receives teaching points from an external device, stores correction method data, and creates a correction program based on the desired method and historical data, allowing easy creation of correction programs using a wide area network.
Enables users to easily generate correction programs tailored to their needs, improving the accuracy of industrial robot operations by addressing environmental discrepancies.
Smart Images

Figure 0007818375000001 
Figure 0007818375000002 
Figure 0007818375000003
Abstract
Description
[Technical Field]
[0001] The present application primarily relates to a robot data processing server that processes data related to industrial robots. [Background technology]
[0002] Patent Document 1 discloses a production system having multiple industrial machines that operate according to an operating program. The operation of the production system is optimized by a cell controller. Specifically, the cell controller analyzes parts that are adversely affecting the takt time of the production system based on time-series operation information acquired from the production system, and improves the operating program. The information acquired by the cell controller is sent to a cloud server. This allows the information to be shared among multiple cell controllers. Patent Document 1 also cites an industrial robot as an example of industrial machine. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Japanese Patent Application Publication No. 2017-199077 Summary of the Invention [Problem to be solved by the invention]
[0004] In order to have an industrial robot perform a task, it is necessary to teach it the task details in advance. Teaching methods include, for example, offline teaching and online teaching. The offline teaching method involves placing 3D data of the workplace and 3D data of the industrial robot in a virtual space, and teaching the task details to the industrial robot while it operates in the virtual space. The online teaching method involves actually placing the industrial robot in the workplace, and teaching the task details to the industrial robot while it actually operates using a teaching pendant. Teaching an industrial robot using either the offline teaching method or the online teaching method sets teaching points. Teaching points determine the position and posture of the industrial robot.
[0005] However, the environment of the workplace during actual work is not necessarily the same as that during teaching. For example, the shape of the workpiece during actual work may be slightly different from the shape of the workpiece during teaching. Furthermore, the position of the workpiece during actual work may be slightly different from the position of the workpiece during teaching. As a method for addressing errors between actual work and teaching, a correction program has traditionally been applied to adjust the teaching points to the actual workplace environment. However, because there are many types of correction methods, it has been difficult to accommodate various correction methods from the perspective of both the skill of the creator and the software.
[0006] The present application has been made in consideration of the above circumstances, and its main purpose is to provide a mechanism that enables a user to easily create a correction program for correcting teaching points using the correction method desired by the user. [Means for solving the problem]
[0007] The problem to be solved by the present application is as described above. Next, the means for solving this problem and the effects thereof will be explained.
[0008] According to a first aspect of the present application, there is provided a robot data processing server having the following configuration. That is, the robot data processing server includes a communication device, a storage device, and a processing device. The communication device receives teaching points of an industrial robot from an external device by communicating with the external device via a wide area network. The storage device stores correction method data including a plurality of correction methods for correcting the teaching points according to the positional relationship between the robot and a workpiece during work. and storing correction history data in which the correction methods used in the past are associated with the types of work performed by the robot. Remember. The processing device receives a designation of the task type to be performed by the robot, and presents the correction method selected based on the designated task type and the correction history data. The processing device performs the correction described in the correction method data for the teaching point received by the communication device. , and presented A correction program is created by applying the correction method, and the communication device is instructed to transmit the correction program to the external device.
[0009] According to a second aspect of the present application, Create a correction program by applying a correction method that corrects teaching points according to the positional relationship between an industrial robot and a workpiece during operation. A correction program creation method is provided, which is to communicate with an external device via a wide area network, The aforementioned Robot The aforementioned The teaching point is received from the external device. The system accepts a designation of a task type to be performed by the robot, and presents correction history data that associates the correction methods used in the past with the task types to be performed by the robot, and the correction method selected based on the designated task type. Correction method data that includes multiple types of correction methods The above-mentioned inventions contained in and presented in Correction method In front Regarding the instruction points Suitable The correction program is then transmitted to the external device. [Effects of the Invention]
[0010] According to the present application, a correction program for correcting teaching points can be easily created using a correction method desired by the user. [Brief explanation of the drawings]
[0011] [Figure 1] An overview of the robot service provision system. [Figure 2] FIG. 2 is a block diagram of a server, a client device, and a robot system. [Figure 3] Flowchart of correction creation service. [Figure 4] FIG. 10 is a diagram showing a window for accepting selection of a correction program. [Figure 5] FIG. 10 is an explanatory diagram showing the creation and use of a correction proposal model. [Figure 6] FIG. 10 is a diagram showing a process of creating a correction program from a correction template. [Figure 7] FIG. 10 is an explanatory diagram showing how the proportion of correction methods used is calculated from correction history data by data analysis. DETAILED DESCRIPTION OF THE INVENTION
[0012] Next, an embodiment of the present application will be described with reference to the drawings. First, an overview of a robot service providing system 1 will be described with reference to FIG.
[0013] The robot service providing system 1 is a system that aggregates information provided by companies involved in industrial robots and provides various services to each company.
[0014] An industrial robot is a robot that performs work in a workplace such as a factory or warehouse. Industrial robots are of the teaching-and-playback type. The teaching-and-playback type means that the industrial robot is taught how to move in advance, and the industrial robot repeats the same movement in accordance with the teaching. An industrial robot is, for example, a vertically articulated or horizontally articulated arm robot. However, the robot service provision system 1 can also be applied to robots other than arm robots, such as parallel link robots. Work performed by industrial robots includes, for example, assembly, welding, painting, machining, or transportation. Hereinafter, industrial robots will be simply referred to as "robots."
[0015] As shown in Figure 1, companies involved in industrial robots include robot manufacturers, robot users, related manufacturers, and implementation support companies. Robot manufacturers develop, manufacture, and maintain robots. Robot users introduce robots into their own workplaces and have the robots perform tasks. Related manufacturers are, for example, manufacturers that manufacture peripheral equipment such as work tools or sensors. Related manufacturers may also include manufacturers that provide software for teaching or managing robots. Implementation support companies are so-called system integrators that support robot users in introducing robots. Specifically, they select robots suitable for the robot user's workplace, teach the robots, or propose improvements after introduction.
[0016] As shown in FIG. 1, the robot service providing system 1 includes a server 10 and a client device 20.
[0017] The server 10 and the client device 20 are located at different bases. The server 10 and the client device 20 can communicate with each other via a wide area network. The wide area network is, for example, the Internet, but may be a network other than the Internet. An example of a wide area network other than the Internet is a network in which local area networks at different bases are connected by a dedicated line.
[0018] The server 10 is a robot data processing server that aggregates information about robots and provides the services described below to various companies. The server 10 is installed, for example, in a data center. The server 10 may be a single piece of hardware, or may be configured with multiple pieces of hardware working together. For example, the hardware that aggregates and stores information may be separate from the hardware that performs processing in response to requests from the client device 20. The server 10 may also be implemented by a cloud computing service.
[0019] The client device 20 is provided at each of the robot manufacturer, robot user, related manufacturer, and implementation support company. The client device 20 is a general-purpose PC, and software for using the robot service provision system 1 is installed therein. This software is hereinafter referred to as a "robot operation support application." Note that the client device 20 is not limited to a general-purpose PC, but may be a dedicated device for using the robot service provision system 1. Furthermore, the client device 20 is not limited to a PC, but may also be a tablet device or a smartphone. Software other than the robot operation support application, specifically, teaching software provided by a related manufacturer, may be installed in the client device 20.
[0020] In the following, the sending of data from the client device 20 provided at the robot manufacturer to the server 10 will be simply explained as the robot manufacturer sending data to the server 10, etc.
[0021] Next, there will be described information transmitted and received by the robot service providing system 1. The information shown below is an example, and information other than that shown below may also be transmitted and received.
[0022] A robot manufacturer transmits, for example, the specifications of the robot they are manufacturing and a calculation tool to the server 10. The robot specifications include the size of the robot, the range of motion of the arm, and the speed range of the arm. The robot specifications are transmitted in association with the model of the robot. The calculation tool is, for example, software that causes the robot to operate according to an operation program, or software for teaching the robot.
[0023] The robot user transmits data accumulated by operating the robot to the server 10. For example, the data may be the robot's operation according to the operation program, the cycle time, or the location of a malfunction. The robot user can also receive production support data from the server 10. The production support data is data used when introducing or operating a robot, and may be data related to peripheral equipment or work tools, or programs required when introducing a robot or adding work.
[0024] The related manufacturer transmits specifications of the robot's peripheral devices, drivers for the peripheral devices, and programs or software for linking the peripheral devices with the robot to the server 10. In addition, when the driver or software is updated, the related manufacturer transmits an update file to the server 10.
[0025] The introduction support company receives various data transmitted from other companies to the server 10. This allows the introduction support company to utilize this data when supporting the robot user in introducing the robot.
[0026] Next, the services provided by the robot service providing system 1 will be briefly described.
[0027] The server 10 provides a virtual location as a cloud platform, facilitating collaboration among companies. The server 10 has a data sharing function, a data accumulation function, and a data analysis function. The data sharing function is a function for sharing data transmitted by each company between companies. The data accumulation function is a function for accumulating data transmitted by each company. 。 The data analysis function is a function that analyzes the data accumulated by the data accumulation function and creates new information. It is preferable to use, for example, AI for the data analysis. Using these functions, the robot service provision system 1 provides services.
[0028] The robot service providing system 1 provides the following services when a robot is introduced: a trajectory data creation service, a correction program creation service, a motion path creation service, an introduction data sharing service, a software linkage service, a program library service, and a robot introduction AI support service. Each company receives these services through a robot operation support application installed on a client device 20 or browser software installed on the client device 20.
[0029] The trajectory data creation service is a service in which the server 10 creates trajectory data. First, the robot user or the implementation support company sends an operation program to the server 10. The server 10 creates trajectory data for the received operation program and sends the trajectory data to the robot user or the implementation support company. An operation program is data that describes in sequence the operations to be performed by the robot. Specifically, the operation program includes the teaching points to be positioned on the robot, and the speed and acceleration at which the arm will move. Furthermore, if the robot is operated in response to the operation of another device as a trigger, the operation program includes conditions related to the timing of the operation. The trajectory data is the robot's operation at each time. By using the data accumulated in the server 10, highly accurate trajectory data can be calculated.
[0030] The correction program creation service is a service in which the server 10 creates a correction program. First, the robot user or the implementation support company transmits teaching points and a work type to the server 10. The work type is the type of work to be performed by the robot, such as assembly or welding. In the case of welding, the type of welding or the type of work may also be set. The server 10 creates a correction program based on the received teaching points and work type, and transmits the correction program to the robot user or the implementation support company. The correction program is a program for correcting errors between the actual work and the teaching. Furthermore, by using the data accumulated in the server 10, it is possible to propose an appropriate correction method to the robot user or the implementation support company. The correction program creation service will be described in detail later.
[0031] The movement path creation service is a service in which the server 10 creates a movement path. First, the robot user or the implementation support company creates interference data. The interference data is data that associates multiple teaching points with whether the robot will interfere with other objects when the robot's position and posture are aligned with the teaching points. The robot user or the implementation support company transmits the interference data to the server 10. The server 10 creates a movement path based on the interference data. The movement path is data that arranges the robot's teaching points in chronological order. By using the data accumulated in the server 10, an appropriate movement path can be created.
[0032] The installation data sharing service is a service that allows companies to easily share installation data when introducing robots to robot users. Installation data includes data on the robot user's workplace, work data, work content data, operation program data, and peripheral device control programs. The installation data is stored on a server 10 and can be accessed by the robot user or the installation support company. This makes it easy to share installation data.
[0033] The software linking service links software provided by various companies. The server 10 links software provided by a robot manufacturer with software provided by related manufacturers. This allows robots and peripheral devices to be easily linked. Furthermore, by linking teaching software provided by a robot manufacturer with teaching software provided by a company other than the robot manufacturer, the advantages of the two types of teaching software can be effectively utilized.
[0034] The program library service is a service that stores programs provided by various companies as a library and shares them among companies. For example, creating an operation program that uses a specific work tool or an operation program that requires sensing or force control requires skill. In this regard, the program library service stores generally usable operation programs as a library on the server 10. This allows robot users or implementation support companies to easily create this type of operation program.
[0035] The robot introduction AI support service is a service that uses AI to support the introduction of a robot when a robot user introduces a robot. As described above, the robot service providing system 1 provides various services to a robot user when the robot user introduces a robot. The server 10 accumulates and analyzes data acquired when this service is provided. Specifically, the server 10 performs machine learning on this data. As a result, when a new robot user introduces a robot, suggestions can be made to the new robot user based on trends in the robot models, peripheral devices, operating programs, etc. adopted by past robot users.
[0036] Next, a brief description will be given of the functions that the robot service providing system 1 has for appropriately providing the above-mentioned services.
[0037] The data shared by the server 10 includes highly confidential data. For example, data on the robot user's workplace and data on the workpiece may be highly confidential. The shared data may also include customer information and technical information of each company. Therefore, the robot service provision system 1 has a security function to prevent the leakage of highly confidential data.
[0038] A robot operation support application may be used to create a virtual environment of a workplace, workpiece, robot, etc., to install a robot or monitor its operation. In this case, it is preferable to always keep the virtual environment on the robot operation support application consistent with the environment of the actual machine in the workplace. For this reason, the robot operation support application has a function that allows the virtual environment to be easily created or updated.
[0039] A wide range of services are provided by the robot service providing system 1. These services are provided by a robot operation support application. Therefore, the robot operation support application has a user interface that allows an operator to easily execute a desired function.
[0040] Various data are accumulated in the server 10. For example, if all data related to the introduction of a robot were transmitted to the server 10, in addition to the security issues mentioned above, problems such as an increase in the amount of communication data and server capacity may arise. Therefore, the robot service provision system 1 does not transmit all data related to the introduction of a robot to the server 10, and has a function of extracting only data related to the provision of services and reducing the amount of data not related to the provision of services.
[0041] Next, the configurations of the server 10, the client device 20, and the robot system 40 will be described with reference to FIG.
[0042] The server 10 includes a communication device 11, a processing device 12, and a storage device 13. The communication device 11 is, for example, a communication module, and communicates with external devices such as a client device 20. The processing device 12 is, for example, a CPU, and performs various processes by executing programs. The storage device 13 is a hard disk or SSD, and stores various data including the above-mentioned programs. Details of the processes performed by the processing device 12 and the data stored in the storage device 13 will be described later.
[0043] As described above, the client device 20 is provided in each company and has a robot operation support application installed. Like the server 10, the client device 20 is equipped with a communication device, a processing device, and a storage device. The client device 20 also has a display device and an input device. The display device is a liquid crystal display or an organic EL display, and displays images created by the processing device. The input device is a mouse, keyboard, touch panel, etc., and accepts human operations.
[0044] The client device 20 transmits the created operation program or the operation program received from the server 10 to the robot system 40. The robot system 40 includes a robot control device 41 and a robot .
[0045] The robot control device 41 includes a processing device such as a CPU, and a storage device such as a hard disk, an SSD, or a flash memory. The processing device controls the robot 42 by executing a program stored in the storage device.
[0046] The robot 42 comprises multiple arms 42a, a work tool 42b, and a sensor 42c. The multiple arms 42a are each operated independently by the power of an actuator such as a motor. The work tool 42b performs work on a workpiece. The work tool 42b is, for example, a hand that holds the workpiece or a welding torch that welds the workpiece. The sensor 42c detects the rotation angle of each arm 42a and outputs the result to the robot control device 41.
[0047] With the above configuration, the robot control device 41 controls the actuator to operate the arm 42a and cause the work tool 42b to perform work, based on the operation program and the rotation angle detected by the sensor 42c.
[0048] Next, the correction program creation service will be described in detail with reference to FIGS.
[0049] Robot users and implementation support companies, etc., register in advance to receive services from the robot service provision system 1. Items to be registered include company names, etc., as well as user attributes. User attributes are items that classify the type of company that uses the robot service provision system 1. User attributes include, for example, classification items such as whether the user is a robot user, implementation support company, related manufacturer, or robot manufacturer, and, if the robot user is a manufacturer, the technical field, etc. As will be described later, the robot service provision system 1 may provide services using user attributes.
[0050] The correction program creation service is used by robot users or those belonging to implementation support companies. Hereinafter, users of the correction program creation service will be simply referred to as users. As described above, the correction program creation service is a service in which the server 10 creates a correction program based on the teaching points and work type sent by the client device 20 and sends it to the client device 20. The correction program is a program for correcting teaching points according to the positional relationship between the robot 42 and the workpiece during actual work. In other words, the correction program is a program for correcting errors between actual work and teaching. The correction program is created based on teaching points. There are many methods for creating a correction program based on teaching points. Hereinafter, this method will be referred to as the correction method.
[0051] The user creates teaching points using an offline teaching method with a robot operation support application. Specifically, the client device 20 places 3D data of the workplace, 3D data of the robot 42, and 3D data of the workpiece in a virtual space. Next, teaching points are created in accordance with the work flow of the robot 42 based on the content of the work that the robot 42 will perform on the workpiece. Teaching points are points that determine the position and posture of the robot 42. The position and posture of the robot 42 include, for example, the position of the robot 42, the rotation angle of each arm 42a, the position of the work tool 42b, and the posture of the work tool 42b. The process of creating teaching points may be performed as one step in the process of creating an operation program. Furthermore, instead of the offline teaching method, teaching points may be created using the online teaching method described above.
[0052] Specific processing performed by the server 10 will be described below with reference to the flowchart of the server 10 shown in Fig. 3. When a teaching point is referred to below, it does not refer to a single teaching point, but rather to a set of teaching points arranged in chronological order to perform a series of tasks.
[0053] The server 10 receives teaching points and a task type from the client device 20 (S101). Receiving teaching points means receiving data including the teaching points. In other words, the server 10 may receive data describing only teaching points, or may receive data including teaching points such as an operation program. As described above, the task type is the type of task to be performed by the robot 42.
[0054] The transmission of teaching points and work types from the client device 20 to the server 10 is performed, for example, as follows. First, the user operates the client device 20 to instruct the use of the correction program creation service. As a result, a correction program creation tool screen 30 is displayed on the display device of the client device 20, as shown in FIG. 4. The correction program creation tool screen 30 may be a screen created by a function of the client device 20, or may be a screen created by a function of the server 10. The correction program creation tool screen 30 includes a teaching point designation box 31 and a work type designation box 32.
[0055] The user operates the teaching point specification box 31 to specify the teaching point for which a correction program is desired to be created from a list of teaching points. Next, the user operates the work type specification box 32 to specify the corresponding work type from a list of work types. The corresponding work type is the work type of the work to be performed using the teaching point specified in the teaching point specification box 31. Work types that can be specified in the work type specification box 32 are created in advance and registered in the robot operation support application of the client device 20. The same work types are also registered in the server 10. After specifying the teaching point and work type, the user operates the confirm button 33 to send the teaching point and work type to the server 10.
[0056] There are various methods for transmitting the teaching points and the work type from the client device 20 to the server 10. For example, if the work type is specified when the user creates the teaching points using the client device 20, the correspondence between the teaching points and the work type has already been completed. In this case, the user may simply specify the teaching points, and the associated work type may be automatically specified, and the teaching points and the work type may be transmitted to the server 10.
[0057] The three-dimensional data of the workplace and the three-dimensional data of the workpiece are not transmitted from the client device 20 to the server 10. Because these data are highly confidential, transmitting them to the server 10 may not be desirable from a security perspective. Furthermore, because these three-dimensional data are large in size, this leads to an increase in the amount of communication data. In this regard, these three-dimensional data are not essential for creating a correction program. Therefore, by not transmitting these three-dimensional data to the server 10 and instead transmitting teaching points, security can be improved and the amount of communication data can be further reduced.
[0058] Next, the server 10 inputs the work type and user attributes into the correction proposal model to select a frequently used correction method. The server 10 can access the registration information of users who use the correction creation service to obtain the user attributes of the users (S102). Note that the user may also send the user attributes in the same way as the teaching points and work type.
[0059] As shown in FIG. 5, the correction proposal model is a model constructed by machine learning correction history data. The correction history data is data that classifies and stores corrections that have been performed in the past. Specifically, the correction history data is data that associates user attributes, work types, and correction methods. By machine learning the correction history data, it is possible to recognize the correlation between user attributes, work types, and correction methods. In other words, it is possible to construct a correction proposal model based on the tendency of which correction method was used when which user selected which work type.
[0060] As shown in FIG. 5, when using the correction proposal model, user attributes and work types are input to the correction proposal model. The output of the correction proposal model is a list of frequently used correction methods. As described above, the correction proposal model learns the correlations between user attributes, work types, and correction methods, and therefore outputs a correction method that has a high correlation with the input user attributes and work type. In this embodiment, multiple correction methods are output in descending order of correlation. Note that the use of user attributes is not essential and may be omitted from the targets of machine learning. Alternatively, another item may be added to the targets of machine learning.
[0061] Next, the server 10 transmits the correction method selected based on the output of the correction proposal model to the client device 20 and accepts the specification of the correction method (S103). The client device 20 presents the received correction method to the user. For example, the client device 20 displays a correction target box 34 and a correction proposal box 35 on the correction program creation tool screen 30 as shown in FIG. 4. The correction target box 34 displays the teaching points and work types for which a correction program is to be created. The content displayed in the correction target box 34 is the same as the information specified by the user using the teaching point specification box 31 and the work type specification box 32. The correction proposal box 35 displays the correction methods output by the correction proposal model in order of highest correlation. The user specifies the correction method to be used to create the correction program from the list of correction methods displayed.
[0062] Note that not only the name of the correction method but also specific details and parameters of the correction method may be displayed in the correction suggestion box 35. In this embodiment, multiple correction methods are suggested, but it is also possible to suggest one correction method with the highest correlation and receive permission from the user.
[0063] When the user operates the client device 20 to specify a correction method, the specified correction method is transmitted to the server 10. The server 10 reads out a correction template corresponding to the specified correction method from the correction method data (S104). The correction method data is data that associates correction methods that the server 10 can execute with correction templates.
[0064] A correction template is data for easily creating a correction program. As shown in FIG. 6, the correction template includes teaching points 52 and correction terms 53. The teaching points 52 are used to input teaching points created during teaching. The correction terms 53 are used to input information such as values or conditions required other than the teaching points, such as information about sensors. For example, when correcting an error based on a value detected by a sensor, the correction terms 53 are values based on the detected value of the sensor. Hereinafter, this information will be referred to as a correction parameter. The correction parameters are not limited to information about sensors, and may be, for example, some condition for determining the correction terms 53.
[0065] The information held for the teaching points differs for each robot 42, and the settings of the correction parameters need to be changed taking into consideration the circumstances of the correction, such as the range of error. The correction template has input items for the teaching points 52 and the correction items 53, so that a correction program can be easily created while responding to changes in the teaching points and correction parameters.
[0066] Depending on the specified correction method, it may be necessary to input information about the sensor into the correction term 53. If correction parameters are necessary, the server 10 acquires the correction parameters (S105). The server 10 may display a screen for inputting the correction parameters on the correction program creation tool screen 30, for example, and request the user to input the correction parameters. Alternatively, the server 10 may request the user to input the correction parameters when specifying the correction method.
[0067] Next, the server 10 applies the teaching points and correction parameters to the correction template to create a correction program (S106). As shown in FIG. 6, a correction program is created by inputting the teaching points and correction parameters into the correction template. Generally, creating a correction program requires skill from the user. In particular, since there are many types of correction methods, it is difficult for a user to handle all of them. In this regard, by using a correction template, a correction program can be easily created regardless of the user's skill.
[0068] Storing the correction method data in the client device 20 can solve the problem of user skill. However, since there are many types of correction methods, a high level of skill is required from the user to specify an appropriate correction method. Furthermore, when a new correction method is added, the correction method data of all the client devices 20 must be updated in order to use that correction method. In this regard, in this embodiment, simply updating the correction method data in the server 10 allows many users of the robot service providing system 1 to use the new correction method. Therefore, in the robot service providing system 1, the correction method data is stored in the server 10.
[0069] Next, the server 10 transmits the created correction program to the client device 20 (S107). The user causes the robot 42 to perform a task using the correction program received from the server 10. As a result, the robot 42 performs the task while correcting errors between the actual task and the teaching time.
[0070] Next, the server 10 updates the correction history data by associating the specified correction method, work type, and user attributes (S108). The server 10 performs additional learning at an appropriate timing using the updated correction history data or newly acquired correction history, and updates the correction proposal model. This allows the server 10 to propose a more appropriate correction method.
[0071] In this embodiment, the server 10 presents a correction method and creates a correction program using the correction method specified by the user. Alternatively, the user may be able to specify the correction method when transmitting the teaching points. For example, a correction method specification box may be displayed on the correction program creation tool screen 30, allowing the user to specify an executable correction method using the correction method data. When a correction method is specified by the client device 20, the server 10 creates a correction program using the specified correction method. When a correction method is not specified by the client device 20, the server 10 suggests a correction method, as in this embodiment. This reduces the user's effort and the processing load on the server 10, for example, if the user can specify an appropriate correction method based on their experience. Even in this case, the user can use a correction template, which reduces the user's effort compared to creating a correction program by themselves.
[0072] Alternatively, after acquiring the correction method with the highest usage rate in step S102, the server 10 may create a correction program using the correction method with the highest usage rate and transmit the program to the client device 20 before proposing a correction method to the user. This eliminates the need for the user to select a correction method. When transmitting the correction program, the server 10 may inquire of the user as to whether or not he or she wishes to change the correction method.
[0073] In this embodiment, a correction method is proposed using a correction proposal model, but building a model using machine learning is not essential. Instead of building a model, a correction method may be proposed using data analysis. For example, when correction history data exists as shown in FIG. 7, the server 10 calculates the usage rate of a specified correction method for each work type. Then, when a work type is specified, the server 10 proposes a correction method with a high usage rate based on the results of this data analysis.
[0074] As described above, the server 10 of this embodiment includes the communication device 11, the storage device 13, and the processing device 12. The communication device 11 receives teaching points of the industrial robot 42 from the client device 20 by communicating with the client device 20 via a wide area network. The storage device 13 stores correction method data including multiple correction methods for correcting the teaching points depending on the positional relationship between the robot 42 and the workpiece during work. The processing device 12 creates a correction program by applying the correction method described in the correction method data to the teaching points received by the communication device 11, and instructs the communication device 11 to transmit the correction program to the client device 20. In this embodiment, the correction program creation method is performed by the above-mentioned processes.
[0075] As a result, the user of the client device 20 can obtain a correction program simply by transmitting teaching points to the robot service providing system 1. In particular, correction method data describing multiple types of correction methods is stored in the robot service providing system 1. Therefore, the user can obtain a correction program using a desired or appropriate correction method.
[0076] In the server 10 of this embodiment, the processing device 12 receives a specification of a correction method, and applies the specified correction method to the teaching points to create a correction program.
[0077] This allows the user to create a correction program using the correction method they desire.
[0078] In the server 10 of this embodiment, the storage device 13 stores correction history data that associates correction methods used in the past with task types. The processing device 12 accepts a designation of a task type to be performed by the robot 42. The processing device 12 presents a correction method selected based on the designated task type and the correction history data.
[0079] This allows a highly appropriate correction method to be proposed to the user.
[0080] In the server 10 of this embodiment, the processing device 12 selects one or more correction methods for a specified work type using a correction proposal model, which is a model constructed by machine learning at least on correction history data, and is a model in which the work type is input and the correction method is output, and presents the selected correction method.
[0081] This makes it possible to propose a more appropriate correction method to the user, particularly when the data input to the model is diverse and a unique method cannot be determined.
[0082] In the server 10 of this embodiment, the processing device 12 performs additional learning using the specified work type and correction method to update the corrected proposed model.
[0083] This can improve the probability that an appropriate correction method will be proposed by the correction proposal model.
[0084] In the server 10 of this embodiment, the processing device 12 refers to the correction history data, selects one or more correction methods based on the level of the specified ratio for the specified work type, and proposes the selected correction method.
[0085] This makes it possible to propose to the user a highly appropriate correction method while omitting the process of constructing a model.
[0086] In the server 10 of this embodiment, the correction method data includes a correction template for each correction method. The processing device 12 creates a correction program by inputting teaching points into the correction template corresponding to the specified correction method.
[0087] This allows a correction program to be created based on the teaching points and the correction template, so that the correction program can be created without receiving three-dimensional data of the workpiece from the client device 20.
[0088] In the server 10 of this embodiment, the communication device 11 communicates with the client devices 20 located in a plurality of facilities via the Internet.
[0089] This allows multiple facilities to share the robot data processing server.
[0090] The preferred embodiment of the present application has been described above, but the above configuration can be modified, for example, as follows.
[0091] The flowcharts shown in the above embodiments are merely examples, and some processes may be omitted, the contents of some processes may be changed, or new processes may be added.
[0092] The server 10 in the above embodiment is installed in a data center, but if a robot manufacturer provides the robot service providing system 1, the server 10 may be installed within the robot manufacturer.
[0093] The functions of the elements disclosed herein can be performed using circuits or processing circuitry, including general-purpose processors, special-purpose processors, integrated circuits, ASICs (Application Specific Integrated Circuits), conventional circuits, and / or combinations thereof, configured or programmed to perform the disclosed functions. A processor is considered a processing circuit or circuitry because it includes transistors and other circuitry. In this disclosure, a circuit, unit, or means is hardware that performs the recited functions or hardware that is programmed to perform the recited functions. The hardware may be hardware disclosed herein or other known hardware that is programmed or configured to perform the recited functions. Where the hardware is a processor, which is considered a type of circuit, the circuit, means, or unit is a combination of hardware and software, and the software is used to configure the hardware and / or processor. [Explanation of symbols]
[0094] 1. Robot service provision system 10 Servers 11. Communications equipment 12 Processing equipment 13 Storage device 20 Client Device 40 Robot Systems 41 Robot control device 42 Robot
Claims
1. a communication device that communicates with an external device via a wide area network to receive teaching points of the industrial robot from the external device; a storage device that stores correction method data including a plurality of types of correction methods for correcting the teaching points in accordance with the positional relationship between the robot and a workpiece during work, and that stores correction history data that associates the correction methods that have been used in the past with the types of work performed by the robot; a processing device; Equipped with the processing device accepts a designation of the task type to be performed by the robot; the processing device presents the correction method selected based on the specified work type and the correction history data; The processing device creates a correction program by applying the correction method described and presented in the correction method data to the teaching points received by the communication device, and instructs the communication device to transmit the correction program to the external device.
2. 2. The robot data processing server of claim 1, the processing device accepts a designation of the correction method; The robot data processing server is characterized in that the processing device applies the specified correction method to the teaching points to create the correction program.
3. 3. The robot data processing server according to claim 1, The processing device is a robot data processing server characterized in that it selects one or more correction methods for the specified work type using a correction proposal model, which is a model constructed by machine learning at least on the correction history data, and in which the work type is input and the correction method is output, and presents the selected correction method.
4. 4. The robot data processing server according to claim 3, The robot data processing server is characterized in that the processing device performs additional learning using the specified task type and the specified correction method to update the correction proposal model.
5. 3. The robot data processing server according to claim 1, The processing device refers to the correction history data, selects one or more of the correction methods based on the level of the specified ratio for the specified work type, and presents the selected correction method.
6. 6. A robot data processing server according to claim 1, the correction method data includes a correction template for each of the correction methods, The robot data processing server is characterized in that the processing device creates the correction program by inputting the teaching points into the correction template corresponding to the specified correction method.
7. 7. A robot data processing server according to claim 1, The robot data processing server is characterized in that the communication device communicates with the external devices located in each of a plurality of facilities via the Internet.
8. A correction program creation method for creating a correction program by applying a correction method for correcting teaching points according to the positional relationship between an industrial robot and a workpiece during work, comprising: receiving the teaching points of the robot from an external device by communicating with the external device via a wide area network; Accepting a designation of a type of work to be performed by the robot; presenting correction history data that associates the correction methods that have been implemented in the past with the work types of work to be performed by the robot, and the correction methods selected based on the specified work types; a correction program is created by applying the correction methods included in the correction method data, which includes a plurality of types of correction methods, to the teaching points; a correction program creating method, the correction program being created and transmitted to the external device;
Citation Information
Patent Citations
Pattern matching device and pattern matching method
JP2015005093A
Cell controller optimizing operation of production system having plurality of industrial machines
JP2017199077A
Control system and control method
JP2021000678A