Robot data processing server and trajectory data calculation method
The robot data processing server addresses the challenge of creating accurate trajectory data by aggregating operation history and using machine learning to optimize industrial robot operation programs, ensuring precise motion planning and reducing interference and cycle time.
Patent Information
- Application Number
- JP2021172877
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-10-22
- Publication Date
- 2025-10-14
- Estimated Expiration
- 2041-10-22
AI Technical Summary
Creating highly accurate trajectory data for industrial robots based on their operation programs is challenging due to the difficulty in preparing performance data at a single work site, which is necessary for verifying interference with other objects and cycle time.
A robot data processing server that includes a storage device, communication device, and processing device, which uses machine learning to create trajectory data by aggregating operation history data and receiving operation verification programs via a wide area network, allowing for the creation of highly accurate trajectory data through a trajectory creation model.
Enables the provision of highly accurate trajectory data for industrial robots, facilitating precise motion planning and reducing interference and cycle time through optimized operation programs.
Smart Images

Figure 0007753049000001 
Figure 0007753049000002 
Figure 0007753049000003
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] An industrial robot's operation program is data that sequentially describes the operations to be performed by the robot. However, in actual robot control, the robot's operation at each time according to the operation program may differ depending on factors such as the magnitude of the load on the robot. Hereinafter, the robot's operation at each time will be referred to as trajectory data. In order to verify in detail interference with other objects or cycle time, etc., it is necessary to create highly accurate trajectory data based on the operation program. However, creating highly accurate trajectory data based on the operation program requires, for example, performance data on how the robot operates according to the operation program. However, it is difficult to prepare performance data at a single work site.
[0005] The present application has been made in view of the above circumstances, and its main purpose is to provide a robot processing server that provides highly accurate trajectory data for an operation program. [Means for solving the problem]
[0006] 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.
[0007] 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 storage device, a communication device, and a processing device. The storage device stores operation history data including a plurality of sets of an operation program for an industrial robot and the operation of the robot at each time in response to the operation program. The communication device receives an operation verification program, which is the operation program created by the external device, by communicating with the external device via a wide area network. The processing device processes the operation verification program received by the communication device and the operation history data stored in the storage device. Using a trajectory creation model constructed by machine learning, Trajectory data showing the motion of the robot at each time point in response to the motion verification program is created. According to a second aspect of the present invention, there is provided a robot data processing server having the following configuration. Specifically, the robot data processing server includes a storage device, a communication device, and a processing device. The storage device stores an industrial robot operation program and operation history data including multiple sets of time-based operations of the robot in response to the operation program. The communication device receives an operation verification program, which is the operation program created by the external device, by communicating with the external device via a wide area network. The processing device creates trajectory data indicating time-based operations of the robot in response to the operation verification program, based on the operation verification program received by the communication device and the operation history data stored in the storage device. The processing device evaluates the operation verification program based on the trajectory data for the operation verification program, and creates a correction program by correcting the operation verification program so that it is evaluated higher than the operation verification program. The communication device transmits the correction program created by the processing device to the external device.
[0008] No. of this application 3 According to the above aspect, the following trajectory data calculation method is provided: That is, by communicating with an external device via a wide area network, an operation verification program, which is the operation program created by the external device, is received. Production Industrial robot operation program and The robot's operation at each time according to the operation program and Operational performance data including multiple sets Using the trajectory creation model constructed by machine learning and the received operation verification program, Then, trajectory data is created that indicates the motion of the robot at each time point in response to the motion verification program. According to a fourth aspect of the present invention, there is provided the following trajectory data calculation method. Specifically, by communicating with an external device via a wide area network, a motion verification program, which is an operation program created by the external device, is received. Based on the received motion verification program and performance data including multiple sets of an industrial robot's operation program and the robot's time-specific motions in response to the operation program, trajectory data indicating the robot's time-specific motions in response to the motion verification program is created. The operation verification program is evaluated based on the trajectory data for the operation verification program, and a corrected program is created by correcting the operation verification program so that it is evaluated higher than the operation verification program. The created corrected program is transmitted to the external device. [Effects of the Invention]
[0009] According to the present application, it is possible to provide a robot processing server that provides highly accurate trajectory data for an operation program. [Brief explanation of the drawings]
[0010] [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 the trajectory creation service. [Figure 4] FIG. 10 is an explanatory diagram showing the creation and use of a trajectory creation model. DETAILED DESCRIPTION OF THE INVENTION
[0011] 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.
[0012] 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.
[0013] 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."
[0014] 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.
[0015] As shown in FIG. 1, the robot service providing system 1 includes a server 10 and a client device 20.
[0016] 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.
[0017] 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.
[0018] 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.
[0019] 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.
[0020] 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.
[0021] 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.
[0022] 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.
[0023] 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.
[0024] 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.
[0025] Next, the services provided by the robot service providing system 1 will be briefly described.
[0026] 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 sent by each company between companies. The data accumulation function is a function for accumulating data sent by each company, and the data analysis function is a function for analyzing data accumulated by the data accumulation function to create new information. It is preferable to use, for example, AI for data analysis. Using these functions, the robot service provision system 1 provides services.
[0027] 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.
[0028] 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 teaching points to be positioned on the robot, and the speed and acceleration at which the arm moves. 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. High-precision trajectory data can be calculated by using the data accumulated in the server 10. Details of the trajectory data creation service will be described later.
[0029] 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 sends the teaching points and 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 sends the correction program to the robot user or the implementation support company. The correction program is a program for correcting errors between teaching and actual work. 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.
[0030] 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.
[0031] 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.
[0032] 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.
[0033] 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.
[0034] 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.
[0035] 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.
[0036] 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.
[0037] 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.
[0038] 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.
[0039] 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.
[0040] Next, the configurations of the server 10, the client device 20, and the robot system 40 will be described with reference to FIG.
[0041] 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.
[0042] 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.
[0043] 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 .
[0044] 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.
[0045] 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.
[0046] 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.
[0047] Next, the trajectory data creation service will be described in detail with reference to FIGS.
[0048] As described above, the trajectory data creation service is a service in which the server 10 creates trajectory data based on an operating program created by the client device 20 and transmits the data to the client device 20. Furthermore, when the server 10 is used as a reference, the client device 20 corresponds to an external device.
[0049] The process by which the client device 20 creates an operation program is a commonly performed process, so it will be explained briefly. The client device 20 places 3D data of the workplace, 3D data of the robot, and 3D data of the workpiece in a virtual space. Next, teaching points for the robot are created based on the content of the work the robot will perform on the workpiece. Furthermore, when operating the robot in conjunction with a peripheral device, operating conditions are set so that the robot moves to the next teaching point using a signal received from the peripheral device as a trigger. In this embodiment, the client device 20 creates the operation program using teaching software provided by a related manufacturer, rather than teaching software provided by the robot manufacturer.
[0050] The method for creating the operation program is merely an example, and may be different from the above. For example, the operation program may be created by operating and teaching the robot in an actual work area rather than in a virtual space. However, for interference checks, which will be described later, it is preferable to create the operation program in a virtual space.
[0051] Specific processing performed by the server 10 will be described below with reference to the flowchart of the server 10 shown in Fig. 3. In addition, hereinafter, the operation program created by the client device 20 will be referred to as an "operation verification program" to distinguish it from the operation program stored by the server 10.
[0052] The server 10 receives the operation verification program and additional information from the client device 20 (S101). The operation verification program is text data containing program code. The program code has a fixed format. Therefore, the contents of the program can be easily obtained using software other than the teaching software that created the operation verification program. The server 10 reads the operation verification program and extracts the information necessary to create trajectory data. Specifically, the server 10 extracts at least the teaching points from the operation verification program. The teaching points are data that are reliably included in the operation verification program.
[0053] Furthermore, the server 10 extracts the tool type, workpiece weight, and robot model from the operation verification program if they are included in the program. Whether or not this information is included in the operation verification program depends on the settings of the software that created the operation verification program. If the additional server 10 cannot extract the necessary information from the operation verification program, it requests the client device 20 to send additional information. The additional information is information that is necessary to create trajectory data but is not included in the operation verification program. For example, the client device 20 displays an input form on a display device and prompts the worker to enter the missing additional information.
[0054] After authenticating the worker, the client device 20 may search for additional information from a storage device and transmit the additional information to the server 10. If the teaching software of the client device 20 is customized to be compatible with the robot service provision system 1, all information required by the server 10 may be read from the storage device and transmitted to the server 10. The client device 20 may transmit only part of the operation verification program to the server 10, rather than the entire program. For example, the client device 20 may extract necessary information such as teaching points from the operation verification program and transmit the extracted information to the server 10. In this specification, even when only part of the operation verification program is transmitted, the operation verification program is considered to be transmitted.
[0055] Next, the server 10 creates trajectory data for the operation verification program (S102). As described above, the trajectory data is the motion of the robot 42 at each time. More specifically, the trajectory data is the rotation angle of each arm 42a of the robot 42 at each time in each sampling period. Furthermore, the completion time of the last motion described in the trajectory data corresponds to the cycle time. In other words, the trajectory data includes information related to the cycle time. The trajectory data is created based on the operation verification program, additional information, robot control logic, trajectory creation model, and dynamics program. Each piece of data will be described in detail below.
[0056] The robot control logic is data provided by the robot manufacturer and stored in the storage device 13. The robot control logic includes details of the process for controlling the robot based on the operation program. Specifically, it is information indicating the process flow in which the robot control device 41 operates the actuators of the robot 42. The robot control logic is associated with the robot model. The server 10 applies the robot control logic corresponding to the robot model included in the operation verification program or additional information. High-precision trajectory data can be created by creating trajectory data using the robot control logic. Generally, robot control logic is not included in teaching software provided by manufacturers other than the robot manufacturer. Therefore, for robot users using teaching software provided by manufacturers other than the robot manufacturer, as in this embodiment, more accurate trajectory data can be created by receiving a trajectory creation service. Note that using the robot control logic is not essential; for example, trajectory data may be created using general logic stored in teaching software provided by manufacturers other than the robot manufacturer.
[0057] Furthermore, the weight of the work tool 42b varies depending on the type of work tool 42b of the robot 42. Therefore, the type of work tool 42b affects the trajectory data. Furthermore, when a workpiece is grasped and transported, the weight of the workpiece affects the trajectory data. Therefore, highly accurate trajectory data can be calculated by applying robot control logic that further takes into account the weight of the workpiece 42b and the weight of the workpiece. The only data required regarding the workpiece is the weight of the workpiece; the overall shape of the workpiece is not essential. Therefore, in this embodiment, the weight of the workpiece, rather than three-dimensional data of the workpiece, is sent from the client device 20 to the server 10. This ensures security and reduces the amount of communication data.
[0058] As shown in FIG. 4, the trajectory creation model is a model constructed by machine learning of operation history data. The operation history data is data that associates an operation program with actual trajectory data when the operation program is input. The actual trajectory data is, for example, a detection value of the sensor 42c at each predetermined time. By using the operation history data, the correlation between the operation program and the trajectory data, in other words, the tendency of how the robot will operate in response to the operation program, is learned. Therefore, when calculating trajectory data using the robot control logic, further use of the trajectory creation model makes it possible to create trajectory data with even higher accuracy.
[0059] The operation history data may be associated with the robot model. In this case, the trajectory generation model is created by machine learning the operation history data including the robot model. Furthermore, when the model is used, information including the robot model is input into the trajectory generation model.
[0060] Note that the operation history data may be used to calculate the trajectory data without being modeled. For example, if the arm 42a is moved at high speed or rapidly accelerated or decelerated, the load on the actuator is large, which may cause a delay in the operation of the arm 42a. By analyzing the operation history data, it is possible to estimate the characteristics of the operation program when a delay occurs in the operation of the arm 42a. For example, if the operation verification program has this characteristic, the server 10 calculates trajectory data that takes into account the delay in the actuator.
[0061] The dynamics program is a program for calculating trajectory data taking into account the influence of physical phenomena such as vibration and collision. By further using the dynamics program to calculate trajectory data, it is possible to create trajectory data with even higher accuracy. Since the dynamics program is a well-known program, a detailed description thereof will be omitted. Since calculations based on the dynamics program are not essential, they can be omitted.
[0062] Next, the server 10 determines whether or not it has received an instruction to optimize the operation verification program. Optimizing the operation verification program means modifying the operation verification program so that the evaluation of the operation of the robot 42 is higher. The operator instructs whether or not optimization is necessary at an appropriate timing, for example, when transmitting the operation verification program or after creating the trajectory data.
[0063] If it is determined that there is no instruction for optimization, the server 10 transmits the trajectory data to the client device 20 (S104). The robot user worker can understand how the robot 42 moves at each time by playing back the trajectory data received from the server 10 using the teaching software of the client device 20. This makes it possible to determine with high accuracy whether or not there is interference between the robot 42 and surrounding objects. In addition, the robot user worker can understand the cycle time of the work of the robot 42 from the trajectory data.
[0064] If it is determined that an instruction for optimization has been issued, the server 10 determines whether the trajectory data satisfies the evaluation criteria (S105). The evaluation of the trajectory data is performed based on, for example, the cycle time and the energy consumption. As described above, the cycle time can be determined based on the trajectory data. The shorter the cycle time, the higher the evaluation of the trajectory data. Also, for example, if there is waste in the movement of the arm 42a and the arm 42a makes a detour from point A to reach point B, the energy consumption will be high and the evaluation will be low. Note that items other than the cycle time and the energy consumption may also be set as evaluation criteria.
[0065] If the server 10 determines that the trajectory data satisfies the evaluation criteria, it notifies the client device 20 that optimization is not required, and transmits the trajectory data to the client device (S106).
[0066] If the server 10 determines that the trajectory data does not satisfy the evaluation criteria, it creates a modified program (S107). The modified program is an operation program obtained by modifying the operation verification program. Specifically, the modified program is modified by changing the positions of the teaching points, the speed of the arm 42a, the acceleration of the arm 42a, or other parameters. Furthermore, it is preferable to modify the modified program so that the evaluation of the trajectory data is higher. Therefore, it is preferable to modify the program so that, for example, the cycle time is shortened or energy consumption is reduced.
[0067] After creating the correction program, the server 10 creates trajectory data for the correction program (S108). Next, the server 10 evaluates the trajectory data for the correction program and determines whether it satisfies the evaluation criteria (S109). If the server 10 determines that the evaluation criteria are not met, it performs the processes of steps S107 to S109 again to update the correction program. Thereafter, if the server 10 determines that the evaluation criteria are met, it transmits the correction program and trajectory data to the client device 20 (S110).
[0068] In this embodiment, the patch program is updated until the evaluation criteria are satisfied, but an upper limit may be set on the number of updates. For example, if the evaluation criteria are not satisfied even after the patch program has been updated the maximum number of times, the server 10 transmits to the client device 20 the patch program with the highest evaluation among the patch programs created in the past. Also, setting the evaluation criteria is not essential and can be omitted. In this case, an upper limit may be set on the number of updates, and the patch program with the highest evaluation among the patch programs created in the past may be transmitted to the client device 20.
[0069] The robot user's worker stores the correction program received from the server 10 in the client device 20 and plays back the trajectory data using the teaching software on the client device 20, thereby understanding how the robot 42 will behave at each point in time. This makes it possible to determine with high accuracy whether or not there will be interference between the robot 42 and surrounding objects. In particular, because the operation verification program is optimized, the robot user can acquire and utilize an operation program that is useful to them.
[0070] The trajectory creation service creates trajectory data, and the presence or absence of interference is determined by the robot user's client device 20. This eliminates the need to provide the server 10 with 3D data of the workplace, 3D data of the workpiece, etc., thereby improving security and reducing the amount of communication data.
[0071] As described above, the server 10 of this embodiment includes the storage device 13, the communication device 11, and the processing device 12. The storage device 13 stores an operation program for the industrial robot 42 and operation history data including multiple sets of operations of the robot 42 at each time in response to the operation program. The communication device 11 receives an operation verification program, which is an operation program created by the client device 20, by communicating with the client device 20 via a wide area network. The processing device 12 creates trajectory data indicating the operations of the robot 42 at each time in response to the operation verification program, based on the operation verification program received by the communication device 11 and the operation history data stored in the storage device 13.
[0072] This allows for the use of operation history data, making it possible to create highly accurate trajectory data.
[0073] In the server 10 of this embodiment, the communication device 11 receives additional information that is not included in the operation program and is information necessary for creating trajectory data. The processing device 12 creates trajectory data based on the additional information.
[0074] This allows for situations where trajectory data cannot be created using only the operating program.
[0075] In the server 10 of this embodiment, the additional information includes at least one of the model of the robot 42, the type of work tool 42b used by the robot 42, and the weight of the workpiece that the robot 42 is working on.
[0076] By using the additional data described above, it is possible to create more accurate trajectory data.
[0077] In the server 10 of this embodiment, the data that the communication device 11 receives from the client device 20 includes text data, excluding the three-dimensional data, among the data stored in the client device 20.
[0078] This allows the size of data received from external devices to be kept low, and this function can be realized without transmitting highly confidential 3D data outside the external device.
[0079] In the server 10 of this embodiment, the processing device 12 creates trajectory data for the operation verification program using a trajectory creation model constructed by machine learning the operation record data.
[0080] This makes it possible to effectively utilize the tendency of correlation between the operation program and the trajectory data indicated by the operation performance data, thereby creating more accurate trajectory data.
[0081] In the server 10 of this embodiment, the communication device 11 transmits the trajectory data created by the processing device 12 to the client device 20.
[0082] This allows trajectory data to be used on external devices.
[0083] In the server 10 of this embodiment, the processing device 12 evaluates the operation verification program based on the trajectory data for the operation verification program, and creates a modified program by modifying the operation verification program so that it is evaluated higher than the operation verification program. The communication device 11 transmits the modified program created by the processing device 12 to the client device 20.
[0084] This allows a more appropriate operation program to be proposed.
[0085] In the server 10 of this embodiment, the processing device 12 creates a correction program and repeats the process of evaluating the trajectory data, and when the trajectory data meets the evaluation criteria, causes the communication device 11 to transmit the correction program to the client device 20.
[0086] This allows you to create highly rated fixes with simple logic.
[0087] 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.
[0088] This allows the server 10 to be shared among multiple facilities.
[0089] The preferred embodiment of the present application has been described above, but the above configuration can be modified, for example, as follows.
[0090] The flowcharts shown in the above embodiment are merely examples, and some processes may be omitted, the contents of some processes may be changed, or new processes may be added. For example, optimization-related processes may be omitted. Furthermore, step S103, which determines whether an optimization instruction is required, may be omitted, and a correction program may be created for all operation verification data. In this case, in step S110, trajectory data of the operation verification program may be additionally transmitted for workers who do not desire a correction program. Furthermore, in this embodiment, one correction program that satisfies the evaluation conditions is transmitted to the client device 20, but multiple correction programs may be generated and transmitted to the client device 20.
[0091] 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.
[0092] 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 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]
[0093] 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 storage device that stores operation performance data including a plurality of sets of an operation program for an industrial robot and an operation of the robot at each time in accordance with the operation program; a communication device that receives the operation verification program, which is the operation program created by the external device, by communicating with the external device via a wide area network; a processing device that creates trajectory data indicating the robot's movements at each time point in accordance with the operation verification program, using the operation verification program received by the communication device and a trajectory creation model constructed by machine learning the operation record data stored in the storage device; and A robot data processing server comprising:
2. a storage device that stores operation performance data including a plurality of sets of an operation program for an industrial robot and an operation of the robot at each time in accordance with the operation program; a communication device that receives the operation verification program, which is the operation program created by the external device, by communicating with the external device via a wide area network; a processing device that creates trajectory data indicating the motion of the robot at each time point in accordance with the motion verification program, based on the motion verification program received by the communication device and the motion performance data stored in the storage device; and Equipped with the processing device evaluates the operation verification program based on the trajectory data for the operation verification program, and creates a corrected program by correcting the operation verification program so that the program is evaluated higher than the operation verification program; The robot data processing server is characterized in that the communication device transmits the correction program created by the processing device to the external device.
3. 3. The robot data processing server according to claim 1, the communication device receives additional information that is not included in the operation verification program and is necessary for creating the trajectory data; The robot data processing server is characterized in that the processing device creates the trajectory data based on the additional information.
4. 4. The robot data processing server according to claim 3, A robot data processing server characterized in that the additional information includes at least one of the model of the robot, the type of work tool used by the robot, and the weight of the workpiece that the robot is working on.
5. 5. A robot data processing server according to claim 1, The robot data processing server is characterized in that the data received by the communication device from the external device includes text data, excluding three-dimensional data, among the data stored in the external device.
6. 6. A robot data processing server according to claim 1, The robot data processing server is characterized in that the communication device transmits the trajectory data created by the processing device to the external device.
7. 3. The robot data processing server according to claim 2, The processing device creates the correction program, repeats the process of evaluating the trajectory data, and when the trajectory data meets the evaluation criteria, transmits the correction program to the external device via the communication device.
8. 8. A robot data processing server according to any one of claims 1 to 7, 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.
9. receiving an operation verification program, which is an operation program created by an external device, by communicating with the external device via a wide area network; A trajectory data calculation method characterized by using a trajectory creation model constructed by machine learning of performance data including multiple sets of an industrial robot's operation program and the robot's operations at each time in response to the operation program, and a received operation verification program, to create trajectory data indicating the robot's operations at each time in response to the operation verification program.
10. receiving an operation verification program, which is an operation program created by an external device, by communicating with the external device via a wide area network; creating trajectory data indicating the motion of the robot at each time point in accordance with the operation verification program based on the received operation verification program, an operation program of an industrial robot, and operation performance data including a plurality of sets of motion of the robot at each time point in accordance with the operation program; Evaluating the operation verification program based on the trajectory data for the operation verification program, and creating a modified program by modifying the operation verification program so that the program is evaluated higher than the operation verification program; a correction program for correcting the generated data; a correction program for correcting the generated data;
Citation Information
Patent Citations
Device and method for preparing robot teaching data
JP2001100834A
Robot simulation device
JP2009190113A
Cell controller optimizing operation of production system having plurality of industrial machines
JP2017199077A
Control system and control method
JP2021000678A