WO2023068351A1 - ロボットデータ処理サーバ及び軌跡データ算出方法 - Google Patents
ロボットデータ処理サーバ及び軌跡データ算出方法 Download PDFInfo
- Publication number
- WO2023068351A1 WO2023068351A1 PCT/JP2022/039219 JP2022039219W WO2023068351A1 WO 2023068351 A1 WO2023068351 A1 WO 2023068351A1 JP 2022039219 W JP2022039219 W JP 2022039219W WO 2023068351 A1 WO2023068351 A1 WO 2023068351A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- robot
- data
- program
- processing server
- server
- Prior art date
Links
- 238000012545 processing Methods 0.000 title claims abstract description 57
- 238000000034 method Methods 0.000 title claims description 14
- 238000004891 communication Methods 0.000 claims abstract description 30
- 238000003860 storage Methods 0.000 claims abstract description 20
- 230000033001 locomotion Effects 0.000 claims description 45
- 238000011156 evaluation Methods 0.000 claims description 19
- 230000008569 process Effects 0.000 claims description 10
- 238000010801 machine learning Methods 0.000 claims description 4
- 230000009471 action Effects 0.000 claims description 3
- 238000004364 calculation method Methods 0.000 claims description 3
- 230000006870 function Effects 0.000 description 19
- 230000004048 modification Effects 0.000 description 10
- 230000002093 peripheral effect Effects 0.000 description 10
- 238000004519 manufacturing process Methods 0.000 description 7
- 238000005457 optimization Methods 0.000 description 7
- 239000000284 extract Substances 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000012937 correction Methods 0.000 description 4
- 238000005265 energy consumption Methods 0.000 description 4
- 238000003466 welding Methods 0.000 description 4
- 238000007405 data analysis Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000002411 adverse Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000003754 machining Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000010422 painting Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 238000005493 welding type Methods 0.000 description 1
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Definitions
- This application mainly relates to a robot data processing server that processes data related to industrial robots.
- Patent Document 1 discloses a production system having a plurality of industrial machines operated by an operation program. Operation of the production system is optimized by the cell controller. Specifically, the cell controller analyzes the part that adversely affects the takt time of the production system based on the time-series operation information acquired from the production system, and improves the operation program. Information obtained by the cell controller is transmitted to the cloud server. This allows information to be shared by a plurality of cell controllers. Moreover, Patent Document 1 mentions an industrial robot as an example of an industrial machine.
- the motion program of an industrial robot is data that describes the motions to be performed by the robot in order.
- the robot's motion at each time with respect to the motion program may differ depending on the magnitude of the load applied to the robot.
- trajectory data the movement of the robot at each time.
- performance data on how the robot operates according to the motion program is required.
- the present application was made in view of the above circumstances, and its main purpose is to provide a robot processing server that provides highly accurate trajectory data to motion programs.
- 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 result 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 the operation verification program, which is the operation program created by the external device, by communicating with the external device via the wide area network. Based on the operation verification program received by the communication device and the operation result data stored in the storage device, the processing device generates trajectory data indicating the movement of the robot at each time with respect to the operation verification program. to create
- the following trajectory data calculation method is provided. That is, by communicating with an external device via a wide area network, the operation verification program, which is the operation program created by the external device, is received. Based on the received operation verification program, the operation program of an industrial robot, and the operation result data including a plurality of sets of the operation of the robot at each time with respect to the operation program, the robot for the operation verification program create trajectory data indicating the motion of each time.
- Schematic diagram of a robot service providing system A block diagram of a server, a client device, and a robot system. Flowchart of the trajectory creation service. Explanatory diagram showing creation and use of a trajectory creation model.
- the robot service provision system 1 is a system that aggregates information provided by companies involved in industrial robots and provides various services to each company.
- Industrial robots are robots that work in workshops such as factories or warehouses.
- Industrial robots are of the teaching playback type.
- the teaching playback type means that an industrial robot is instructed in advance to perform the same operation, and the industrial robot repeats the same operation according to the contents of the teaching.
- Industrial robots are, for example, vertically articulated or horizontally articulated arm robots.
- the robot service providing system 1 can also be applied to robots other than arm robots, such as parallel link robots.
- the tasks performed by industrial robots are, for example, assembly, welding, painting, machining, or transportation. Below, industrial robots are simply referred to as "robots”.
- robot manufacturers develops, manufactures, and maintains robots.
- the robot user introduces the robot into his company's workshop and makes the robot do the work.
- a related manufacturer is, for example, a manufacturer that manufactures peripheral devices such as work tools or sensors.
- Related manufacturers may include manufacturers that provide software for teaching or managing robots.
- Introduction support companies are so-called system integrators, and support the introduction of robots by robot users. Specifically, it selects a robot suitable for the robot user's workplace, teaches the robot, or proposes improvements after introduction.
- the robot service providing system 1 includes a server 10 and a client device 20.
- the server 10 and the client device 20 are provided at different bases.
- Server 10 and 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 other than the Internet.
- the server 10 is a robot data processing server, aggregates information on robots, and provides each company with the services described below.
- the server 10 is provided, for example, in a data center.
- the server 10 may be one piece of hardware, or may have a configuration in which a plurality of pieces of hardware work together.
- hardware that aggregates and stores information and hardware that performs processing in response to a request from the client device 20 may be separate.
- Server 10 may be realized by a cloud computing service.
- the client devices 20 are provided by robot manufacturers, robot users, related manufacturers, and introduction support companies.
- the client device 20 is a general-purpose PC, and software for using the robot service providing system 1 is installed. This software is hereinafter referred to as a "robot operation support application".
- the client device 20 is not limited to a general-purpose PC, and may be a dedicated product for using the robot service providing system 1 .
- the client device 20 is not limited to a PC, and may be a tablet device or a smart phone.
- Software different from the robot operation support application, specifically teaching software provided by a related manufacturer, may be installed in the client device 20 .
- the information transmitted and received by the robot service providing system 1 will be described.
- the information shown below is an example, and information other than the information shown below may be transmitted and received.
- the robot maker for example, sends the specifications and computing tools of the robots it manufactures to the server 10.
- the specifications of the robot include the size of the robot, the movable range of the arm, the speed range of the arm, and the like.
- the specifications of the robot are transmitted in association with the model of the robot.
- the computing tool is, for example, software for operating a robot according to an operation program, or software for teaching a robot.
- the robot user sends the accumulated data to the server 10 by operating the robot. For example, it is the operation of the robot according to the operation program, the cycle time, or the location of failure. Also, the robot user can receive production support data from the server 10 .
- Production support data is data used when introducing or operating a robot
- production support data is data related to peripheral equipment or work tools, or programs required when introducing a robot or adding work. be.
- the related manufacturer sends to the server 10 specifications of the robot's peripherals, drivers for the peripherals, and programs or software that link the peripherals and the robot. Also, when the related manufacturers update their drivers or software, they send update files to the server 10 .
- the introduction support company receives various data sent to the server 10 from other companies. As a result, introduction support companies can utilize these data when supporting the introduction of robots by robot users.
- 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 storage 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 sent by each company.
- the data analysis function is a function for analyzing the data accumulated by the data accumulation function and creating new information. AI, for example, is preferably used for data analysis. Using these functions, the robot service providing system 1 provides services.
- the robot service providing system 1 provides trajectory data creation service, correction program creation service, motion path creation service, introduction data sharing service, software cooperation service, program library service, and robot introduction AI support service as services to be provided when introducing a robot. offer. Each company receives these services through a robot operation support application installed in the client device 20 .
- the trajectory data creation service is a service in which the server 10 creates trajectory data.
- a robot user or an introduction support company transmits an operation program to the server 10 .
- the server 10 creates trajectory data for the received motion program, and transmits the trajectory data to the robot user or introduction support company.
- An operation program is data describing operations to be performed by a robot in order.
- the motion program includes teaching points to be positioned on the robot and speed and acceleration to move the arm.
- the operation program includes conditions regarding operation timing.
- the trajectory data is motion of the robot at each time. By using the data accumulated in the server 10, highly accurate trajectory data can be calculated. Details of the trajectory data creation service will be described later.
- the correction program creation service is a service in which the server 10 creates a correction program.
- the robot user or the introduction support company transmits teaching points and work types to the server 10 .
- the work type is the type of work performed by the robot, such as assembly or welding. In the case of welding, the type of welding or the type of workpiece may be further 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 introduction support company.
- a correction program is a program for correcting errors between teaching and actual work. Also, by using the data accumulated in the server 10, it is possible to propose an appropriate correction method to the robot user or the introduction support company.
- the motion path creation service is a service in which the server 10 creates a motion path.
- a robot user or an introduction support company creates interference data.
- Interference data is data in which a plurality of teaching points are associated with each other as to whether or not the robot will interfere with another object when the position and posture of the robot are aligned with the teaching points.
- a robot user or an introduction support company transmits interference data to the server 10 .
- the server 10 creates motion paths based on the interference data.
- the motion path is data in which teaching points of the robot are arranged in chronological order. By using the data accumulated in the server 10, an appropriate motion path can be created.
- the introduction data sharing service is a service that allows companies to easily share the introduction data when introducing robots to robot users.
- the introduction data includes robot user workplace data, workpiece data, work content data, motion program data, and peripheral device control programs.
- the introduction data is stored in the server 10 and accessed by the robot user or the introduction support company. This facilitates sharing of introduction data.
- a software linkage service is a service that links software provided by various companies.
- the server 10 links software provided by the robot maker and software provided by related makers. As a result, the robot and the peripheral device can be easily interlocked. Further, by linking the teaching software provided by the robot maker and the teaching software provided by the non-robot maker, the advantages of the two types of teaching software can be effectively utilized.
- the program library service is a service that stores programs provided by various companies as a library and shares them among companies. For example, skill is required to create a motion program using a specific work tool, or to create a motion program that requires sensing or haptic control.
- general-purpose operating programs are stored in the server 10 as a library. This allows robot users or introduction support companies to easily create this type of motion program.
- the robot introduction AI support service is a service that uses AI to support the introduction of robots by robot users.
- the robot service providing system 1 provides various services to the robot user when the robot user introduces the robot.
- the server 10 accumulates and analyzes data obtained when providing this service. Specifically, the server 10 machine-learns this data. As a result, when a new robot user introduces a robot, it is possible to make a proposal to the new robot user based on the trends of robot models, peripheral devices, operation programs, etc. adopted by past robot users. .
- the data shared by the server 10 includes highly confidential data.
- robot user workplace data and workpiece data may be highly sensitive.
- the data shared may also include customer and technical information for each company. Therefore, the robot service providing system 1 has a security function for preventing leakage of highly confidential data.
- a robot operation support application may be used to build a virtual environment such as a workplace, a workpiece, and a robot to introduce a robot or monitor the operation of the robot. In this case, it is preferable to always match the virtual environment on the robot operation support application with the environment of the actual machine in the workshop. Therefore, the robot operation support application has a function of easily building or updating the virtual environment.
- the services provided by the robot service providing system 1 are diverse. These services are provided by a robot operation support application. Therefore, the robot operation support application has a user interface that allows the operator to easily execute the desired functions.
- Various data are accumulated in the server 10. For example, if all data related to robot introduction is transmitted to the server 10, in addition to the above-described security problem, the problem that the amount of communication data and the server capacity increase may occur. Therefore, in the robot service providing system 1, all the data related to the introduction of the robot are not transmitted to the server 10, and only the data related to the provision of the service is extracted, or the data not related to the provision of the service is reduced in weight. It has the function to
- 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 a client device 20 or the like as an external device.
- 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 programs described above. Details of the processing performed by the processing device 12 and the data stored in the storage device 13 will be described later.
- the client device 20 is provided in each company and has a robot operation support application installed.
- the client device 20, like the server 10, includes a communication device, a processing device, and a storage device.
- the client device 20 further includes 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, or the like, and receives human operations.
- the client device 20 transmits the created motion program or the motion program received from the server 10 to the robot system 40 .
- the robot system 40 includes a robot controller 41 and a robot 42 .
- the robot control device 41 includes a processing device such as a CPU, and a storage device such as a hard disk, SSD, or flash memory.
- the processor controls the robot 42 by executing programs stored in the storage device.
- the robot 42 includes a plurality of arms 42a, work tools 42b, and sensors 42c.
- the plurality of arms 42a are individually operated by the power of actuators such as motors.
- the work tool 42b performs work on the work.
- the work tool 42b is, for example, a hand that holds a work or a welding torch that welds the work.
- the sensor 42 c detects the rotation angle of each arm 42 a and outputs it to the robot control device 41 .
- the robot control device 41 controls the actuator to operate the arm 42a and the work tool 42b to perform work based on the operation program and the rotation angle detected by the sensor 42c. .
- the trajectory data creation service is a service in which the server 10 creates trajectory data based on the operation program created by the client device 20 and transmits the created trajectory data to the client device 20 . Further, when the server 10 is used as a reference, the client device 20 corresponds to the external device.
- the process of creating an operation program by the client device 20 is a commonly performed process, and will be briefly described.
- the client device 20 arranges the 3D data of the workplace, the 3D data of the robot, and the 3D data of the workpiece in the virtual space.
- robot teaching points are created.
- the robot is operated in conjunction with a peripheral device, operating conditions are set so that the robot moves to the next teaching point with a signal received from the peripheral device as a trigger.
- the client device 20 creates an operation program using teaching software provided by a related manufacturer, not teaching software provided by the robot manufacturer.
- operation program creation method is an example, and may be different from the above.
- an operation program may be created by a method of teaching by moving a robot in an actual workplace instead of in a virtual space.
- 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 accumulated by the server 10 .
- the server 10 receives the operation verification program and additional information from the client device 20 (S101).
- the operation verification program is text data in which program code is described. Also, the format of the program code is fixed. Therefore, the contents of the program can be easily acquired using software other than the teaching software that created the operation verification program.
- the server 10 reads the operation verification program and extracts information necessary for creating trajectory data. Specifically, the server 10 extracts at least teaching points from the operation verification program. The teaching point is data that is definitely included in the operation verification program.
- the server 10 extracts the tool type, workpiece weight, and robot model from the operation verification program, if they are included in the operation verification program. Whether or not these pieces of information are included in the operation verification program depends on the settings of the software that created the operation verification program.
- the server 10 requests the client device 20 to send additional information. In other words, the server 10 does not request transmission of additional information if all the information necessary for creating the trajectory data can be extracted from the operation verification program.
- the additional information is information that is necessary for creating trajectory data and is not included in the operation verification program.
- the client device 20 displays an input form on the display device and prompts the worker to input missing additional information.
- the client device 20 may retrieve additional information from the storage device and transmit it to the server 10 after the operator is authenticated. Further, if the teaching software of the client device 20 is customized to correspond to the robot service providing system 1, all the information required by the server 10 can be read from the storage device and sent to the server 10. good. Also, the client device 20 may transmit a part of the operation verification program to the server 10 instead of the entire operation verification program. For example, the client device 20 may extract necessary information such as teaching points from the operation verification program and transmit it to the server 10 . In this specification, even if a part of the operation verification program is transmitted, it is regarded as transmission of the operation verification program.
- the server 10 creates trajectory data for the operation verification program (S102).
- the trajectory data is the motion of the robot 42 at each time, as described above. More specifically, the trajectory data is the rotation angle of each arm 42a of the robot 42 at each sampling period. Also, the completion time of the last operation described in the trajectory data corresponds to the cycle time. That is, the trajectory data contains information about cycle time.
- the trajectory data is created based on the motion verification program, additional information, robot control logic, trajectory creation model, and dynamics program. The details of each data are described below.
- 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 of controlling the robot based on the motion program. Specifically, it is information indicating the flow of processing 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 according to the model of the robot included in the operation verification program or the additional information.
- By creating trajectory data using the robot control logic highly accurate trajectory data can be created.
- robot control logic is not included in teaching software other than robot manufacturers. Therefore, for a robot user who uses teaching software other than the robot maker's software as in the present embodiment, receiving the provision of the trajectory creation service can create more accurate trajectory data.
- the use of robot control logic is not essential, and the trajectory data may be created using general logic stored in teaching software other than that of the robot manufacturer, for example.
- the weight of the work tool 42b of the robot 42 differs depending on the type of the work tool 42b. Therefore, the type of work tool 42b affects the trajectory data. Also, when a workpiece is gripped and transported, the weight of the workpiece affects the trajectory data. Therefore, by further considering the weight of the work tool 42b and the weight of the workpiece and applying the robot control logic, highly accurate trajectory data can be calculated.
- the only data required for the work is the weight of the work, and the overall shape of the work is not essential. Therefore, in this embodiment, the weight of the work is transmitted from the client device 20 to the server 10 instead of the three-dimensional data of the work. As a result, security can be ensured and the amount of communication data can be suppressed.
- the trajectory creation model is a model constructed by machine learning operation performance data.
- Operation performance data is data in which an operation program is associated with actual trajectory data when the operation program is input.
- the actual trajectory data is, for example, detected values of the sensor 42c at predetermined times.
- the operation performance data may be associated with the robot model.
- a trajectory creation model is created by machine-learning operation performance data including the model of the robot.
- information including the model of the robot is input to the trajectory creation model.
- the operation performance data may be used for calculating the trajectory data without being modeled.
- the load on the actuator is large, and there is a possibility that the operation of the arm 42a will be delayed.
- the server 10 calculates trajectory data in consideration of actuator delay.
- the dynamics program is a program for calculating trajectory data considering the effects of physical phenomena such as vibration and collision. By further using the dynamics program to calculate the trajectory data, more highly accurate trajectory data can be created. Since the dynamics program is a well-known program, detailed description is omitted. Calculations based on the dynamics program are not essential and can be omitted.
- the server 10 determines whether or not it has received an instruction to optimize the operation verification program.
- Optimization of the motion verification program means correcting the motion verification program so that the motion of the robot 42 is highly evaluated.
- the operator instructs whether or not optimization is necessary at an appropriate timing, such as when transmitting the operation verification program or after creating the trajectory data.
- the server 10 transmits the trajectory data to the client device 20 (S104).
- the operator of the robot user can grasp how the robot 42 operates at each time by reproducing 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. Also, the worker of the robot user can grasp the cycle time of the work of the robot 42 from the trajectory data.
- the server 10 determines whether or not the trajectory data satisfies the evaluation criteria (S105).
- the trajectory data is evaluated based on, for example, cycle time and energy consumption.
- the cycle time can be grasped based on the trajectory data. The shorter the cycle time, the higher the evaluation of the trajectory data. Further, for example, if the movement of the arm 42a is wasteful and the robot detours from the point A to reach the point B, the energy consumption becomes high and the evaluation becomes low. Items other than the cycle time and the energy consumption may be provided as evaluation criteria.
- the server 10 determines that the trajectory data satisfies the evaluation criteria, it notifies the client device 20 that optimization is unnecessary, and transmits the trajectory data to the client device (S106).
- a modified program is an operation program obtained by modifying the operation verification program. Specifically, the position of the teaching point, the speed of the arm 42a, the acceleration of the arm 42a, or other parameters are changed for correction.
- the correction program corrects the trajectory data so that the evaluation thereof becomes higher. Therefore, it is preferable to modify, for example, a shorter cycle time or a lower energy consumption.
- the server 10 After creating the modification program, the server 10 creates trajectory data for the modification program (S108). Next, the server 10 evaluates the trajectory data for the correction program and determines whether or not the evaluation criteria are satisfied (S109). Take action to update the hotfix. After that, when the server 10 determines that the evaluation criteria are satisfied, the server 10 transmits the modified program and the trajectory data to the client device 20 (S110).
- the modification program is updated until the evaluation criteria are met, but an upper limit may be set for the number of updates. For example, if the evaluation criteria are not satisfied even if the modification program is updated by the upper limit number of updates, the server 10 transmits to the client device 20 the modification program with the highest evaluation among modification programs created in the past. Also, the setting of evaluation criteria is not essential and can be omitted. In this case as well, an upper limit may be set for the number of updates, and the correction program with the highest evaluation among the correction programs created in the past may be sent to the client device 20 .
- the operator of the robot user stores the correction program received from the server 10 in the client device 20 and reproduces the trajectory data with the teaching software of the client device 20, thereby determining how the robot 42 operates at each time. I can grasp it. This makes it possible to determine with high accuracy whether or not there is interference between the robot 42 and surrounding objects. In particular, since the motion verification program is optimized, it is possible to obtain and utilize a motion program that is useful for robot users.
- trajectory creation service creation of trajectory data is performed, and the presence or absence of interference is determined by the client device 20 of the robot user. This eliminates the need to provide the server 10 with the three-dimensional data of the workplace, the three-dimensional data of the work, and the like, so that security can be enhanced and the amount of communication data can be reduced.
- 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 operation performance data including a plurality of sets of an operation program for an industrial robot 42 and an operation of the robot 42 for 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 the wide area network.
- the processing device 12 Based on the motion verification program received by the communication device 11 and the motion performance data stored in the storage device 13, the processing device 12 creates trajectory data indicating the motion of the robot 42 with respect to the motion verification program at each time. .
- the communication device 11 receives additional information that is information that is not included in the operation program and that is information necessary for creating trajectory data.
- the processing device 12 creates trajectory data based on the additional information.
- 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 work that the robot 42 is to work on.
- the data received by the communication device 11 from the client device 20 includes text data, excluding three-dimensional data, among the data stored in the client device 20 .
- the size of the data received from the external device can be kept low. Also, this function can be realized without transmitting highly confidential three-dimensional data to the outside of the external device.
- the processing device 12 creates trajectory data for the operation verification program using a trajectory creation model constructed by machine-learning operation performance data.
- the communication device 11 transmits the trajectory data created by the processing device 12 to the client device 20 .
- the trajectory data can be used on external devices.
- the processing device 12 evaluates the operation verification program based on the trajectory data for the operation verification program, and creates a corrected program by modifying the operation verification program so that the evaluation is higher than the operation verification program. do.
- the communication device 11 transmits the correction program created by the processing device 12 to the client device 20 .
- the processing device 12 repeats the process of creating a modification program and evaluating the locus data, and transmits the modification program to the client device 20 via the communication device 11 when the locus data satisfies the evaluation criteria.
- the communication device 11 communicates via the Internet with the client devices 20 respectively arranged at a plurality of facilities.
- the server 10 can be shared by multiple facilities.
- step S103 for determining the optimization instruction may be omitted, and a correction program may be created for all the operation verification data.
- the trajectory data of the operation verification program may additionally be transmitted for the operator who does not want the modification program.
- one correction program that satisfies the evaluation condition is transmitted to the client device 20 , but multiple correction programs may be created and transmitted to the client device 20 .
- server 10 in the above embodiment is provided in the data center, for example, when a robot manufacturer provides the robot service providing system 1, the server 10 may be provided within the robot manufacturer.
- a processor is considered a processing circuit or circuit because it includes transistors and other circuits.
- a circuit, unit, or means is hardware that performs or is programmed to perform the recited functions.
- the hardware may be the hardware disclosed herein, or other known hardware programmed or configured to perform the recited functions.
- a circuit, means or unit is a combination of hardware and software, where the hardware is a processor which is considered a type of circuit, the software being used to configure the hardware and/or the processor.
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Numerical Control (AREA)
- Manipulator (AREA)
Abstract
ロボットデータ処理サーバは、記憶装置と、通信装置と、処理装置と、を備える。記憶装置は、産業用のロボットの動作プログラムと、当該動作プログラムに対するロボットの時刻毎の動作と、を複数セット含む動作実績データを記憶する。通信装置は、ワイドエリアネットワークを介してクライアント装置と通信することにより、クライアント装置で作成された動作プログラムである動作検証プログラムを受信する。処理装置は、通信装置が受信した動作検証プログラムと、記憶装置に記憶された動作実績データと、に基づいて、当該動作検証プログラムに対するロボットの時刻毎の動作を示す軌跡データを作成する。
Description
本出願は、主として、産業用のロボットに関するデータを処理するロボットデータ処理サーバに関する。
特許文献1は、動作プログラムによって動作する複数の産業機械を有する生産システムを開示する。生産システムの動作は、セルコントローラによって最適化される。具体的には、セルコントローラは、生産システムから取得した時系列の稼動情報に基づいて、生産システムのタクトタイムに悪影響を与えている部分を分析し、動作プログラムを改良する。セルコントローラが取得した情報は、クラウドサーバに送信される。これにより、複数のセルコントローラで情報を共有する。また、特許文献1には、産業機械の例として、産業用のロボットが挙げられている。
産業用のロボットの動作プログラムは、ロボットに行わせる動作を順番に記述したデータである。しかし、実際のロボットの制御においては、ロボットにかかる負荷の大きさなどにより、動作プログラムに対するロボットの各時刻の動作は異なることがある。以下では、ロボットの各時刻の動作を軌跡データと称する。他の物体との干渉又はサイクルタイム等を詳細に検証するためには、動作プログラムに基づいて高精度の軌跡データを作成する必要がある。しかし、動作プログラムに基づいて高精度の軌跡データを作成するためには、例えば、ロボットが動作プログラムに応じてどのように動作するかの実績に関する実績データが必要になる。しかし、実績データを1つの作業拠点で準備することは困難である。
本出願は以上の事情に鑑みてされたものであり、その主要な目的は、動作プログラムに対して高精度の軌跡データを提供するロボット処理サーバを提供することにある。
本出願の解決しようとする課題は以上の如くであり、次にこの課題を解決するための手段とその効果を説明する。
本出願の第1の観点によれば、以下の構成のロボットデータ処理サーバが提供される。即ち、ロボットデータ処理サーバは、記憶装置と、通信装置と、処理装置と、を備える。前記記憶装置は、産業用のロボットの動作プログラムと、当該動作プログラムに対する前記ロボットの時刻毎の動作と、を複数セット含む動作実績データを記憶する。前記通信装置は、ワイドエリアネットワークを介して外部機器と通信することにより、前記外部機器で作成された前記動作プログラムである動作検証プログラムを受信する。前記処理装置は、前記通信装置が受信した前記動作検証プログラムと、前記記憶装置に記憶された前記動作実績データと、に基づいて、当該動作検証プログラムに対する前記ロボットの時刻毎の動作を示す軌跡データを作成する。
本出願の第2の観点によれば、以下の軌跡データ算出方法が提供される。即ち、ワイドエリアネットワークを介して外部機器と通信することにより、前記外部機器で作成された前記動作プログラムである動作検証プログラムを受信する。受信した前記動作検証プログラムと、産業用のロボットの動作プログラムと、当該動作プログラムに対する前記ロボットの時刻毎の動作と、を複数セット含む動作実績データと、に基づいて、当該動作検証プログラムに対する前記ロボットの時刻毎の動作を示す軌跡データを作成する。
本出願によれば、動作プログラムに対して高精度の軌跡データを提供するロボット処理サーバを提供できる。
次に、図面を参照して本出願の実施形態を説明する。初めに、図1を参照して、ロボットサービス提供システム1の概要を説明する。
ロボットサービス提供システム1は、産業用のロボットに関与する企業が提供する情報を集約して、それぞれの企業に様々なサービスを提供するシステムである。
産業用のロボットとは、工場又は倉庫等の作業場で作業を行うロボットである。産業用のロボットは、ティーチングプレイバック型である。ティーチングプレイバック型とは、事前に産業用のロボットの動作を教示し、教示された内容に沿って産業用のロボットが同じ動作を繰り返すことである。産業用のロボットは、例えば、垂直多関節又は水平多関節のアームロボットである。ただし、アームロボット以外のロボット、例えばパラレルリンクロボット等にもロボットサービス提供システム1を適用可能である。産業用のロボットが行う作業は、例えば、組立て、溶接、塗装、機械加工、又は、運搬である。以下では、産業用のロボットを単に「ロボット」と称する。
図1に示すように、産業用のロボットに関与する企業としては、ロボットメーカ、ロボットユーザ、関連メーカ、及び、導入支援企業等が存在する。ロボットメーカは、ロボットの開発、製造、及び保守を行う。ロボットユーザは、ロボットを自社の作業場に導入して、ロボットに作業を行わせる。関連メーカは、例えば、作業ツール又はセンサ等の周辺機器を製造するメーカである。関連メーカには、ロボットの教示又は管理等を行うためのソフトウェアを提供するメーカが含まれてもよい。導入支援企業は、いわゆるシステムインテグレータであり、ロボットユーザによるロボットの導入を支援する。具体的には、ロボットユーザの作業場に適したロボットの選択、ロボットの教示、又は、導入後の改善提案等を行う。
図1に示すように、ロボットサービス提供システム1は、サーバ10と、クライアント装置20と、を備える。
サーバ10とクライアント装置20は、それぞれ異なる拠点に設けられている。サーバ10とクライアント装置20は、ワイドエリアネットワークを介して互いに通信可能である。ワイドエリアネットワークは、例えばインターネットであるが、インターネット以外であってもよい。インターネット以外の例としては、異なる拠点のローカルエリアネットワーク同士を専用線で接続したネットワークが挙げられる。
サーバ10は、ロボットデータ処理サーバであり、ロボットに関する情報を集約して後述のサービスを各企業に提供する。サーバ10は、例えばデータセンターに設けられる。サーバ10は、1台のハードウェアであってもよいし、複数台のハードウェアが連携した構成であってもよい。例えば、情報を集約して記憶するハードウェアと、クライアント装置20からの要求に応じて処理を行うハードウェアと、が別であってもよい。サーバ10は、クラウドコンピューティングサービスにより実現されてもよい。
クライアント装置20は、ロボットメーカ、ロボットユーザ、関連メーカ、及び、導入支援企業にそれぞれ設けられる。クライアント装置20は、汎用のPCであり、ロボットサービス提供システム1を利用するためのソフトウェアがインストールされている。このソフトウェアを以下では「ロボット稼動支援アプリケーション」と称する。なお、クライアント装置20は、汎用のPCに限られず、ロボットサービス提供システム1を利用するための専用品であってもよい。また、クライアント装置20は、PCに限られず、タブレット装置又はスマートフォンであってもよい。クライアント装置20には、ロボット稼動支援アプリケーションとは異なるソフトウェア、具体的には関連メーカが提供した教示ソフトがインストールされていてもよい。
以下では、ロボットメーカに設けられたクライアント装置20がサーバ10にデータを送信することを、ロボットメーカがサーバ10にデータを送信する等のように簡略化して説明する。
次に、ロボットサービス提供システム1で送受信される情報について説明する。以下で示す情報は一例であり、以下で示した以外の情報が送受信されてもよい。
ロボットメーカは、例えば、製造しているロボットの仕様及び演算ツールをサーバ10へ送信する。ロボットの仕様とは、ロボットのサイズ、アームの可動範囲、及びアームの速度範囲等である。ロボットの仕様は、ロボットの機種と対応付けて送信される。演算ツールは、例えば、動作プログラムに応じてロボットを動作させるソフトウェア、又は、ロボットを教示するためのソフトウェアである。
ロボットユーザは、ロボットを稼動させることで蓄積されたデータをサーバ10へ送信する。例えば、動作プログラムに応じたロボットの動作、サイクルタイム、又は、故障の発生箇所である。また、ロボットユーザは、サーバ10から生産支援データを受信することができる。生産支援データは、ロボットを導入又は運用する際に使用されるデータであり、生産支援データは、周辺機器又は作業ツールに関するデータ、又は、ロボットの導入時又は作業の追加時に必要となるプログラム等である。
関連メーカは、ロボットの周辺機器の仕様、周辺機器のドライバ、周辺機器とロボットを連動させるプログラム、又は、ソフトウェアをサーバ10へ送信する。また、関連メーカは、ドライバ又はソフトウェアがアップデートされた場合は、アップデートファイルをサーバ10へ送信する。
導入支援企業は、他の企業からサーバ10に送信された様々なデータを受信する。これにより、導入支援企業は、ロボットユーザのロボットの導入を支援する際に、これらのデータを活用できる。
次に、ロボットサービス提供システム1で提供されるサービスについて簡単に説明する。
サーバ10は、クラウドプラットフォームとしての仮想的な場所を提供し、各企業の協働を容易にする。サーバ10は、データ共有機能と、データ蓄積機能と、データ解析機能と、を有する。データ共有機能は、各企業が送信したデータを企業間で共有する機能である。データ蓄積機能は、各企業が送信したデータを蓄積する機能である、データ解析機能は、データ蓄積機能で蓄積されたデータを解析して、新たな情報を作成する機能である。データの解析には、例えばAIが用いられることが好ましい。これらの機能を用いて、ロボットサービス提供システム1はサービスを提供する。
ロボットサービス提供システム1は、ロボットの導入時に提供するサービスとして、軌跡データ作成サービス、補正プログラム作成サービス、動作経路作成サービス、導入データ共有サービス、ソフトウェア連携サービス、プログラムライブラリサービス、ロボット導入AI支援サービスを提供する。各企業は、クライアント装置20にインストールされたロボット稼動支援アプリケーションにより、これらのサービスの提供を受ける。
軌跡データ作成サービスは、サーバ10が軌跡データを作成するサービスである。初めに、ロボットユーザ又は導入支援企業は、サーバ10に動作プログラムを送信する。サーバ10は、受信した動作プログラムに対して軌跡データを作成し、軌跡データをロボットユーザ又は導入支援企業に送信する。動作プログラムとは、ロボットに行わせる動作を順番に記述したデータである。具体的には、動作プログラムは、ロボットに位置させる教示点、アームを移動させる速度及び加速度を含む。また、他の装置の動作をトリガとしてロボットを動作させる場合は、動作プログラムは、動作タイミングに関する条件を含む。軌跡データは、ロボットの時刻毎の動作である。サーバ10に蓄積されたデータを用いることにより、高精度な軌跡データを算出できる。なお、軌跡データ作成サービスの詳細については後述する。
補正プログラム作成サービスは、サーバ10が補正プログラムを作成するサービスである。初めに、ロボットユーザ又は導入支援企業は、サーバ10に教示点及び作業種別を送信する。作業種別とは、ロボットが行う作業の種類であり、例えば組立て又は溶接である。なお、溶接の場合、溶接の種類又はワークの種類等を更に設定可能であってもよい。サーバ10は、受信した教示点及び作業種別に基づいて補正プログラムを作成し、補正プログラムをロボットユーザ又は導入支援企業に送信する。補正プログラムとは、教示時と実際の作業時での誤差を補正するためのプログラムである。また、サーバ10に蓄積されたデータを用いることにより、適切な補正方法をロボットユーザ又は導入支援企業に提案することもできる。
動作経路作成サービスは、サーバ10が動作経路を作成するサービスである。初めに、ロボットユーザ又は導入支援企業は、干渉データを作成する。干渉データとは、複数の教示点に対して、教示点にロボットの位置及び姿勢を合わせたときにロボットが他の物体と干渉するか否かを対応付けたデータである。ロボットユーザ又は導入支援企業は、干渉データをサーバ10に送信する。サーバ10は、干渉データに基づいて動作経路を作成する。動作経路とは、ロボットの教示点を時系列で並べたデータである。サーバ10に蓄積されたデータを用いることにより、適切な動作経路を作成できる。
導入データ共有サービスは、ロボットユーザにロボットを導入する際の導入データを企業間で容易に共有できるようにするサービスである。導入データとしては、ロボットユーザの作業場のデータ、ワークのデータ、作業内容のデータ、動作プログラムのデータ、又は、周辺機器の制御プログラム等がある。導入データをサーバ10に保存し、ロボットユーザ又は導入支援企業がアクセスする。これにより、導入データの共有が容易となる。
ソフトウェア連携サービスは、様々な企業が提供するソフトウェアを連携するサービスである。サーバ10は、ロボットメーカが提供するソフトウェアと関連メーカが提供するソフトウェアとを連携させる。これにより、ロボットと周辺機器を簡単に連動させることができる。また、ロボットメーカが提供する教示ソフトウェアと、ロボットメーカ以外が提供する教示ソフトウェアと、を連動させることにより、2種類の教示ソフトウェアの長所を有効利用できる。
プログラムライブラリサービスは、様々な企業が提供するプログラムをライブラリとして記憶して、企業同士で共有するサービスである。例えば、特定の作業ツールを使用した動作プログラム、センシング又は力覚制御等が必要な動作プログラムの作成にはスキルが要求される。この点、プログラムライブラリサービスでは、汎用的に使用可能な動作プログラムをライブラリとしてサーバ10に記憶しておく。これにより、ロボットユーザ又は導入支援企業は、この種の動作プログラムを容易に作成できる。
ロボット導入AI支援サービスは、ロボットユーザがロボットを導入する際において、AIを用いてロボットの導入を支援するサービスである。上述したように、ロボットサービス提供システム1は、ロボットユーザがロボットを導入する際に、ロボットユーザに様々なサービスを提供する。サーバ10は、このサービスの提供時に取得したデータを蓄積して解析する。具体的には、サーバ10は、このデータを機械学習させる。これにより、新たなロボットユーザがロボットを導入する際において、過去のロボットユーザが採用したロボット機種、周辺機器、又は、動作プログラム等の傾向に基づいて、新たなロボットユーザに提案を行うことができる。
次に、ロボットサービス提供システム1が上述したサービスを適切に供給するために有する機能について簡単に説明する。
サーバ10で共有されるデータには、機密性が高いデータが含まれる。例えば、ロボットユーザの作業場のデータ、及び、ワークのデータは機密性が高いことがある。また、共有されるデータには、各企業の顧客情報及び技術情報が含まれる可能性もある。従って、ロボットサービス提供システム1は、機密性が高いデータの漏洩を防止するためのセキュリティ機能を有している。
ロボット稼動支援アプリケーションを用いて、作業場、ワーク、及びロボット等の仮想環境を構築して、ロボットの導入又はロボットの稼動の監視を行うことがある。この場合、ロボット稼動支援アプリケーション上の仮想環境を作業場の実機の環境と常に一致させておくことが好ましい。そのため、ロボット稼動支援アプリケーションは仮想環境を容易に構築又は更新できる機能を有している。
ロボットサービス提供システム1が提供するサービスは多岐にわたる。これらのサービスは、ロボット稼動支援アプリケーションにより提供される。そのため、ロボット稼動支援アプリケーションは、操作者が望む機能を容易に実行できるようなユーザインタフェースを有している。
サーバ10には様々なデータが蓄積される。例えば、ロボットの導入に関する全てのデータをサーバ10に送信した場合、上述したセキュリティの課題に加え、通信データ量及びサーバ容量が肥大化するという課題が生じ得る。従って、ロボットサービス提供システム1では、ロボットの導入に関する全てのデータをサーバ10に送信せず、サービスの提供に関係するデータのみを抽出したり、サービスの提供に関係ない部分のデータを軽量化したりする機能を有する。
次に、図2を参照して、サーバ10、クライアント装置20、及びロボットシステム40の構成について説明する。
サーバ10は、通信装置11と、処理装置12と、記憶装置13と、を備える。通信装置11は例えば通信モジュールであり、外部機器としてのクライアント装置20等と通信する。処理装置12は、例えばCPUであり、プログラムを実行することにより、様々な処理を行う。記憶装置13は、ハードディスク又はSSDであり、上述したプログラムを含む様々なデータを記憶する。処理装置12が行う処理及び記憶装置13に記憶されるデータの詳細は後述する。
クライアント装置20は、上述したように、各企業に設けられており、ロボット稼動支援アプリケーションがインストールされている。クライアント装置20は、サーバ10と、同様に、通信装置、処理装置、記憶装置を備える。また、クライアント装置20は、更に、表示装置及び入力装置を備える。表示装置は液晶ディスプレイ又は有機ELディスプレイであり、処理装置が作成した画像を表示する。入力装置は、マウス、キーボード、タッチパネル等であり、人の操作を受け付ける。
クライアント装置20は、作成した動作プログラム又はサーバ10から受信した動作プログラムをロボットシステム40に送信する。ロボットシステム40は、ロボット制御装置41と、ロボット42と、を備える。
ロボット制御装置41は、CPU等の処理装置と、ハードディスク、SSD、又はフラッシュメモリ等の記憶装置と、を備える。処理装置は、記憶装置に記憶されたプログラムを実行することにより、ロボット42を制御する。
ロボット42は、複数のアーム42aと、作業ツール42bと、センサ42cと、を備える。複数のアーム42aはモータ等のアクチュエータの動力により、それぞれ個別に動作する。作業ツール42bは、ワークに対する作業を行う。作業ツール42bは、例えば、ワークを保持するハンド、又は、ワークを溶接する溶接トーチである。センサ42cは、それぞれのアーム42aの回転角度を検出してロボット制御装置41へ出力する。
以上の構成により、ロボット制御装置41は、動作プログラムと、センサ42cが検出した回転角度と、に基づいて、アクチュエータを制御してアーム42aを動作させたり、作業ツール42bに作業を行わせたりする。
次に、図2から図4を参照して、軌跡データ作成サービスについて詳細に説明する。
軌跡データ作成サービスは、上述したように、クライアント装置20が作成した動作プログラムに基づいて、サーバ10が軌跡データを作成してクライアント装置20に送信するサービスである。また、サーバ10を基準とした場合、クライアント装置20が外部機器に相当する。
クライアント装置20が動作プログラムを作成する処理は、一般的に行われている処理であるため、簡単に説明する。クライアント装置20は、仮想空間に作業場の3次元データ、ロボットの3次元データ、及びワークの3次元データを配置する。次に、ロボットがワークに対して行う作業の内容に基づいて、ロボットの教示点を作成する。また、周辺機器に連動してロボットを動作する場合は、周辺機器から受信する信号等をトリガとして次の教示点に移動するように動作条件を設定する。本実施形態では、クライアント装置20は、ロボットメーカが提供する教示ソフトウェアではなく、関連メーカが提供する教示ソフトウェアで動作プログラムを作成する。
なお、動作プログラムの作成方法は一例であり、上記とは異なっていてもよい。例えば、仮想空間ではなく実際の作業場でロボットを動かして教示する方法で動作プログラムを作成してもよい。ただし、後述する干渉チェックのためには、仮想空間を構築して動作プログラムを作成する方が好ましい。
以下、図3に示すサーバ10のフローチャートに沿って、サーバ10が行う具体的な処理を説明する。また、以下では、クライアント装置20が作成する動作プログラムを「動作検証プログラム」と称し、サーバ10が蓄積した動作プログラムと区別する。
サーバ10は、クライアント装置20から動作検証プログラム及び追加情報を受信する(S101)。動作検証プログラムは、プログラムコードが記載されたテキストデータである。また、プログラムコードの書式は決まっている。従って、動作検証プログラムを作成した教示ソフトウェア以外のソフトウェアを用いてプログラムの内容を容易に取得できる。サーバ10は、動作検証プログラムを読み取って、軌跡データの作成に必要な情報を抽出する。具体的には、サーバ10は、動作検証プログラムから、少なくとも教示点を抽出する。教示点は動作検証プログラムに確実に含まれているデータである。
更に、サーバ10は、動作検証プログラムに含まれていれば、ツール種類、ワーク重量、及びロボット機種を動作検証プログラムから抽出する。これらの情報が動作検証プログラムに含まれているか否かは、動作検証プログラムを作成したソフトウェアの設定等に依存する。サーバ10は、動作検証プログラムから必要な情報を抽出できない場合、クライアント装置20に追加情報の送信を要求する。言い換えれば、サーバ10は、軌跡データの作成に必要な全ての情報が、動作検証プログラムから抽出できる場合は、追加情報の送信を要求しない。追加情報とは、軌跡データの作成に必要であって、かつ、動作検証プログラムに含まれていない情報である。例えば、クライアント装置20は、入力フォームを表示装置に表示し、足りない追加情報を作業者に入力させる。
なお、クライアント装置20は、作業者の認証を経た後に、追加情報を記憶装置から検索してサーバ10に送信してもよい。また、クライアント装置20の教示ソフトウェアが、ロボットサービス提供システム1に対応するようにカスタマイズされているのであれば、サーバ10が必要とする全ての情報を記憶装置から読み出してサーバ10に送信してもよい。また、クライアント装置20は、動作検証プログラムの全体ではなく一部をサーバ10に送信してもよい。例えば、クライアント装置20は、動作検証プログラムから教示点等の必要な情報を抽出して、サーバ10に送信してもよい。本明細書では、動作検証プログラムの一部を送信している場合であっても、動作検証プログラムを送信しているとみなす。
次に、サーバ10は、動作検証プログラムに対する軌跡データを作成する(S102)。軌跡データは、上述したように、ロボット42の時刻毎の動作である。更に詳細には、軌跡データは、サンプリング周期毎の各時刻における、ロボット42のそれぞれのアーム42aの回転角度である。また、軌跡データに記述された最後の動作の完了時刻はサイクルタイムに相当する。つまり、軌跡データはサイクルタイムに関する情報を含む。軌跡データは、動作検証プログラムと、追加情報と、ロボット制御ロジックと、軌跡作成モデルと、動力学プログラムと、に基づいて作成される。以下、それぞれのデータの詳細を説明する。
ロボット制御ロジックは、ロボットメーカから提供されたデータであり、記憶装置13に記憶されている。ロボット制御ロジックは、動作プログラムに基づいてロボットを制御する処理の詳細を含む。具体的には、ロボット制御装置41がロボット42のアクチュエータを動作させる処理の流れを示す情報である。ロボット制御ロジックは、ロボットの機種に対応付けられている。サーバ10は、動作検証プログラム又は追加情報に含まれるロボットの機種に応じたロボット制御ロジックを適用する。ロボット制御ロジックを用いて軌跡データを作成することにより、高精度な軌跡データを作成できる。一般的には、ロボットメーカ以外の教示ソフトにはロボット制御ロジックが含まれていない。従って、本実施形態のようにロボットメーカ以外の教示ソフトを用いるロボットユーザにとっては、軌跡作成サービスの提供を受けることにより、より高精度な軌跡データを作成できる。なお、ロボット制御ロジックを用いることは必須では無く、例えばロボットメーカ以外の教示ソフトに格納されているような一般的なロジックで軌跡データを作成してもよい。
また、ロボット42の作業ツール42bの種類に応じて作業ツール42bの重さが異なる。従って、作業ツール42bの種類は軌跡データに影響する。また、ワークを把持して運搬する場合、ワークの重さが軌跡データに影響する。従って、作業ツール42bの重さとワークの重さを更に考慮してロボット制御ロジックを適用することにより、高精度な軌跡データを算出できる。ワークに関して必要なデータはワークの重さだけであり、ワークの全体の形状は必須では無い。そのため、本実施形態では、ワークの3次元データではなくワークの重さをクライアント装置20からサーバ10に送信する。これにより、セキュリティ性を確保できるとともに、通信データ量を抑えることができる。
軌跡作成モデルは、図4に示すように、動作実績データを機械学習することにより構築されるモデルである。動作実績データは、動作プログラムと、動作プログラムを入力したときの実際の軌跡データと、を対応付けたデータである。実際の軌跡データは、例えばセンサ42cの所定時刻毎の検出値である。動作実績データを用いることにより、動作プログラムと軌跡データの相関性、言い換えれば、動作プログラムに対してどのようにロボットが動作するかの傾向が学習される。従って、ロボット制御ロジックを用いて軌跡データを算出する際に、軌跡作成モデルを更に用いることにより、一層高精度な軌跡データを作成できる。
動作実績データはロボットの機種に対応付けられていてもよい。この場合、ロボットの機種を含む動作実績データを機械学習して軌跡作成モデルが作成される。また、モデル利用時にはロボットの機種を含む情報が軌跡作成モデルに入力される。
なお、動作実績データをモデル化せずに、軌跡データの算出に用いてもよい。例えば、アーム42aを高速で移動させたり、急加速又は急減速した場合、アクチュエータの負荷が大きいため、アーム42aの動作に遅延が生じる可能性がある。動作実績データを解析することにより、アーム42aの動作に遅延が生じる時の動作プログラムの特徴を推定できる。例えば、動作検証プログラムがこの特徴を有する場合、サーバ10は、アクチュエータの遅延を考慮した軌跡データを算出する。
動力学プログラムは、振動及び衝突等の物理現象の影響を考慮して軌跡データを算出するためのプログラムである。動力学プログラムを更に用いて軌跡データを算出することにより、更に高精度な軌跡データを作成できる。動力学プログラムは公知のプログラムであるため詳細な説明を省略する。動力学プログラムに基づく演算は必須ではないため、省略することもできる。
次に、サーバ10は、動作検証プログラムの最適化の指示を受けたか否かを判断する。動作検証プログラムの最適化とは、ロボット42の動作の評価が高くなるように動作検証プログラムを修正することである。作業者は、適宜のタイミング、例えば動作検証プログラムの送信時又は軌跡データの作成後等において、最適化が必要か否かを指示する。
最適化の指示が無いと判断した場合、サーバ10は、軌跡データをクライアント装置20に送信する(S104)。ロボットユーザの作業者は、サーバ10から受信した軌跡データをクライアント装置20の教示ソフトで再生することにより、ロボット42が各時刻でどのように動作するかを把握できる。これにより、ロボット42と周囲の物体との干渉の有無を高精度に判定できる。また、ロボットユーザの作業者は、軌跡データからロボット42の作業のサイクルタイムを把握できる。
最適化の指示があると判断した場合、サーバ10は、軌跡データが評価基準を満たすか否かを判定する(S105)。軌跡データの評価は、例えば、サイクルタイムと消費エネルギー等に基づいて行う。上述したように、軌跡データに基づいてサイクルタイムを把握できる。サイクルタイムが短いほど、軌跡データの評価が高くなる。また、例えばアーム42aの動きに無駄があり、A地点から迂回してB地点に到達している場合、消費エネルギーが高くなって評価が低くなる。なお、評価基準として、サイクルタイム及び消費エネルギー以外の項目を設けてもよい。
サーバ10は、軌跡データが評価基準を満たすと判定した場合、最適化が不要なことをクライアント装置20に通知して、軌跡データをクライアント装置に送信する(S106)。
サーバ10は、軌跡データが評価基準を満たさないと判定した場合、修正プログラムを作成する(S107)。修正プログラムとは、動作検証プログラムを修正した動作プログラムである。具体的には、教示点の位置、アーム42aの速度、アーム42aの加速度、又は、その他のパラメータを変更して修正する。また、修正プログラムは、軌跡データの評価が高くなるように修正することが好ましい。従って、例えばサイクルタイムが短くなるように、又は、消費エネルギーが低くなるように修正することが好ましい。
サーバ10は、修正プログラムの作成後、修正プログラムに対する軌跡データを作成する(S108)。次に、サーバ10は、修正プログラムに対する軌跡データの評価を行い、評価基準を満たすか否かを判断する(S109)サーバ10は、評価基準を満たさないと判定した場合、再びステップS107からS109の処理を行って、修正プログラムを更新する。その後、サーバ10は、評価基準を満たすと判定した場合、修正プログラム及び軌跡データをクライアント装置20に送信する(S110)。
本実施形態では、評価基準を満たすまで修正プログラムを更新するが、更新回数に上限を定めてもよい。例えば、上限の更新回数だけ修正プログラムを更新しても評価基準を満たさない場合、サーバ10は、過去に作成した修正プログラムの中で評価が最も高かった修正プログラムをクライアント装置20に送信する。また、評価基準の設定は必須では無く省略できる。この場合も更新回数に上限を定め、過去に作成した修正プログラムの中で評価が最も高かった修正プログラムをクライアント装置20に送信すればよい。
ロボットユーザの作業者は、サーバ10から受信した修正プログラムをクライアント装置20に記憶し、軌跡データをクライアント装置20の教示ソフトで再生することにより、ロボット42が各時刻でどのように動作するかを把握できる。これにより、ロボット42と周囲の物体との干渉の有無を高精度に判定できる。特に、動作検証プログラムが最適化されているため、ロボットユーザにとって有用な動作プログラムを取得して活用できる。
軌跡作成サービスでは、軌跡データの作成までを行い、干渉の有無については、ロボットユーザのクライアント装置20で行う。これにより、作業場の3次元データ、ワークの3次元データ等をサーバ10に提供する必要がなくなるので、セキュリティ性を高くできるとともに、通信データ量を抑えることができる。
以上に説明したように、本実施形態のサーバ10は、記憶装置13と、通信装置11と、処理装置12と、を備える。記憶装置13は、産業用のロボット42の動作プログラムと、動作プログラムに対するロボット42の時刻毎の動作と、を複数セット含む動作実績データを記憶する。通信装置11は、ワイドエリアネットワークを介してクライアント装置20と通信することにより、クライアント装置20で作成された動作プログラムである動作検証プログラムを受信する。処理装置12は、通信装置11が受信した動作検証プログラムと、記憶装置13に記憶された動作実績データと、に基づいて、動作検証プログラムに対するロボット42の時刻毎の動作を示す軌跡データを作成する。
これにより、動作実績データを利用できるので高精度な軌跡データを作成できる。
本実施形態のサーバ10において、通信装置11は、動作プログラムに含まれていない情報であって、軌跡データの作成に必要な情報である追加情報を受信する。処理装置12は、追加情報に基づいて軌跡データを作成する。
これにより、動作プログラムだけでは軌跡データを作成できない状況に対応できる。
本実施形態のサーバ10において、追加情報は、ロボット42の機種、ロボット42が使用する作業ツール42bの種類、及び、ロボット42の作業対象であるワークの重量の少なくとも何れかを含む。
これにより、上述した追加データを用いることにより、より高精度な軌跡データを作成できる。
本実施形態のサーバ10において、通信装置11がクライアント装置20から受信するデータは、クライアント装置20が記憶しているデータのうち3次元データを除きテキストデータを含む。
これにより、外部機器から受信するデータのサイズを低く抑えることができる。また、機密性が高い3次元データを外部機器の外部に送信することなく、本機能が実現できる。
本実施形態のサーバ10において、処理装置12は、動作実績データを機械学習して構築された軌跡作成モデルを用いて、動作検証プログラムに対する軌跡データを作成する。
これにより、動作実績データが示す動作プログラムと軌跡データの相関性の傾向を有効に活用できるので、より精度の高い軌跡データを作成できる。
本実施形態のサーバ10において、通信装置11は、処理装置12が作成した軌跡データをクライアント装置20に送信する。
これにより、外部機器で軌跡データを活用できる。
本実施形態のサーバ10において、処理装置12は、動作検証プログラムに対する軌跡データに基づいて動作検証プログラムを評価し、動作検証プログラムよりも評価が高くなるように動作検証プログラムを修正した修正プログラムを作成する。通信装置11は、処理装置12が作成した修正プログラムをクライアント装置20に送信する。
これにより、より適切な動作プログラムを提案できる。
本実施形態のサーバ10において、処理装置12は、修正プログラムを作成して軌跡データを評価する処理を繰り返し、軌跡データが評価基準を満たしたときの修正プログラムを通信装置11によりクライアント装置20に送信させる。
これにより、簡単なロジックで評価が高い修正プログラムを作成できる。
本実施形態のサーバ10において、通信装置11は、複数の施設にそれぞれ配置されたクライアント装置20とインターネットを介して通信する。
これにより、複数の施設でサーバ10を共用できる。
以上に本出願の好適な実施の形態を説明したが、上記の構成は例えば以下のように変更することができる。
上記実施形態で示したフローチャートは一例であり、一部の処理を省略したり、一部の処理の内容を変更したり、新たな処理を追加したりしてもよい。例えば、最適化に関する処理を省略してもよい。また、最適化の指示を判断するステップS103を省略し、全ての動作検証データに対して修正プログラムを作成してもよい。この場合、ステップS110において、修正プログラムを希望しない作業者のために、動作検証プログラムの軌跡データを追加で送信してもよい。また、本実施形態では、評価条件を満たす1つの修正プログラムをクライアント装置20に送信するが、複数の修正プログラムを作成してクライアント装置20に送信してもよい。
上記実施形態のサーバ10は、データセンターに設けられているが、例えばロボットメーカがロボットサービス提供システム1を提供する場合、ロボットメーカ内にサーバ10が設けられてもよい。
本明細書で開示する要素の機能は、開示された機能を実行するように構成又はプログラムされた汎用プロセッサ、専用プロセッサ、集積回路、ASIC(Application Specific Integrated Circuits)、従来の回路、及び/又は、それらの組み合わせ、を含む回路又は処理回路を使用して実行できる。プロセッサは、トランジスタやその他の回路を含むため、処理回路又は回路と見なされる。本開示において、回路、ユニット、又は手段は、列挙された機能を実行するハードウェアであるか、又は、列挙された機能を実行するようにプログラムされたハードウェアである。ハードウェアは、本明細書に開示されているハードウェアであってもよいし、あるいは、列挙された機能を実行するようにプログラム又は構成されているその他の既知のハードウェアであってもよい。ハードウェアが回路の一種と考えられるプロセッサである場合、回路、手段、又はユニットはハードウェアとソフトウエアの組み合わせであり、ソフトウエアはハードウェア及び/又はプロセッサの構成に使用される。
Claims (10)
- 産業用のロボットの動作プログラムと、当該動作プログラムに対する前記ロボットの時刻毎の動作と、を複数セット含む動作実績データを記憶する記憶装置と、
ワイドエリアネットワークを介して外部機器と通信することにより、前記外部機器で作成された前記動作プログラムである動作検証プログラムを受信する通信装置と、
前記通信装置が受信した前記動作検証プログラムと、前記記憶装置に記憶された前記動作実績データと、に基づいて、当該動作検証プログラムに対する前記ロボットの時刻毎の動作を示す軌跡データを作成する処理装置と、
を備える、ロボットデータ処理サーバ。 - 請求項1に記載のロボットデータ処理サーバであって、
前記通信装置は、前記動作検証プログラムに含まれていない情報であって、前記軌跡データの作成に必要な情報である追加情報を受信し、
前記処理装置は、前記追加情報に基づいて前記軌跡データを作成する、ロボットデータ処理サーバ。 - 請求項2に記載のロボットデータ処理サーバであって、
前記追加情報は、前記ロボットの機種、前記ロボットが使用する作業ツールの種類、及び、前記ロボットの作業対象であるワークの重量の少なくとも何れかを含む、ロボットデータ処理サーバ。 - 請求項1から3までの何れか一項に記載のロボットデータ処理サーバであって、
前記通信装置が前記外部機器から受信するデータは、前記外部機器が記憶しているデータのうち3次元データを除きテキストデータを含む、ロボットデータ処理サーバ。 - 請求項1から4までの何れか一項に記載のロボットデータ処理サーバであって、
前記処理装置は、前記動作実績データを機械学習して構築された軌跡作成モデルを用いて、前記動作検証プログラムに対する前記軌跡データを作成する、ロボットデータ処理サーバ。 - 請求項1から5までの何れか一項に記載のロボットデータ処理サーバであって、
前記通信装置は、前記処理装置が作成した前記軌跡データを前記外部機器に送信する、ロボットデータ処理サーバ。 - 請求項1から6までの何れか一項に記載のロボットデータ処理サーバであって、
前記処理装置は、前記動作検証プログラムに対する前記軌跡データに基づいて前記動作検証プログラムを評価し、前記動作検証プログラムよりも評価が高くなるように前記動作検証プログラムを修正した修正プログラムを作成し、
前記通信装置は、前記処理装置が作成した前記修正プログラムを前記外部機器に送信する、ロボットデータ処理サーバ。 - 請求項7に記載のロボットデータ処理サーバであって、
前記処理装置は、前記修正プログラムを作成して前記軌跡データを評価する処理を繰り返し、前記軌跡データが評価基準を満たしたときの前記修正プログラムを前記通信装置により前記外部機器に送信させる、ロボットデータ処理サーバ。 - 請求項1から8までの何れか一項に記載のロボットデータ処理サーバであって、
前記通信装置は、複数の施設にそれぞれ配置された前記外部機器とインターネットを介して通信する、ロボットデータ処理サーバ。 - ワイドエリアネットワークを介して外部機器と通信することにより、前記外部機器で作成された前記動作プログラムである動作検証プログラムを受信し、
受信した前記動作検証プログラムと、産業用のロボットの動作プログラムと、当該動作プログラムに対する前記ロボットの時刻毎の動作と、を複数セット含む動作実績データと、に基づいて、当該動作検証プログラムに対する前記ロボットの時刻毎の動作を示す軌跡データを作成する、軌跡データ算出方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202280070563.0A CN118139731A (zh) | 2021-10-22 | 2022-10-21 | 机器人数据处理服务器以及轨迹数据计算方法 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021172877A JP2023062780A (ja) | 2021-10-22 | 2021-10-22 | ロボットデータ処理サーバ及び軌跡データ算出方法 |
JP2021-172877 | 2021-10-22 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2023068351A1 true WO2023068351A1 (ja) | 2023-04-27 |
Family
ID=86058287
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2022/039219 WO2023068351A1 (ja) | 2021-10-22 | 2022-10-21 | ロボットデータ処理サーバ及び軌跡データ算出方法 |
Country Status (3)
Country | Link |
---|---|
JP (1) | JP2023062780A (ja) |
CN (1) | CN118139731A (ja) |
WO (1) | WO2023068351A1 (ja) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001100834A (ja) * | 1999-09-29 | 2001-04-13 | Nissan Motor Co Ltd | ロボット教示データの作成装置およびその方法 |
JP2009190113A (ja) * | 2008-02-13 | 2009-08-27 | Fanuc Ltd | ロボットシミュレーション装置 |
JP2017199077A (ja) | 2016-04-25 | 2017-11-02 | ファナック株式会社 | 複数台の産業機械を有する生産システムの動作を最適化するセルコントローラ |
JP2021000678A (ja) * | 2019-06-20 | 2021-01-07 | オムロン株式会社 | 制御システムおよび制御方法 |
-
2021
- 2021-10-22 JP JP2021172877A patent/JP2023062780A/ja active Pending
-
2022
- 2022-10-21 CN CN202280070563.0A patent/CN118139731A/zh active Pending
- 2022-10-21 WO PCT/JP2022/039219 patent/WO2023068351A1/ja active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001100834A (ja) * | 1999-09-29 | 2001-04-13 | Nissan Motor Co Ltd | ロボット教示データの作成装置およびその方法 |
JP2009190113A (ja) * | 2008-02-13 | 2009-08-27 | Fanuc Ltd | ロボットシミュレーション装置 |
JP2017199077A (ja) | 2016-04-25 | 2017-11-02 | ファナック株式会社 | 複数台の産業機械を有する生産システムの動作を最適化するセルコントローラ |
JP2021000678A (ja) * | 2019-06-20 | 2021-01-07 | オムロン株式会社 | 制御システムおよび制御方法 |
Also Published As
Publication number | Publication date |
---|---|
CN118139731A (zh) | 2024-06-04 |
JP2023062780A (ja) | 2023-05-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11638994B2 (en) | Robotic digital twin control with industrial context simulation | |
Glatt et al. | Modeling and implementation of a digital twin of material flows based on physics simulation | |
US11458626B2 (en) | Trajectory generating method, and trajectory generating apparatus | |
Blomdell et al. | Extending an industrial robot controller: implementation and applications of a fast open sensor interface | |
JP3946753B2 (ja) | ロボットプログラム評価・修正方法及びロボットプログラム評価・修正装置 | |
JP5872894B2 (ja) | ロボット動作教示支援装置及び方法 | |
KR102012073B1 (ko) | 스킬 기반 로봇 프로그래밍 장치 및 방법 | |
CN104699122A (zh) | 一种机器人运动控制*** | |
CN102004485A (zh) | 机器人离线示教方法 | |
Feng et al. | Manufacturing planning and predictive process model integration using software agents | |
Togias et al. | Virtual reality environment for industrial robot control and path design | |
Wang et al. | Real-time process-level digital twin for collaborative human-robot construction work | |
JP2006302282A (ja) | ロボットプログラムの最適化方法及びロボット制御システム | |
NO20111715A1 (no) | Fremgangsmate for a kontrollere industrielle roboter i et arbeidsomrade | |
Øvern | Industry 4.0-Digital twins and OPC UA | |
WO2023068351A1 (ja) | ロボットデータ処理サーバ及び軌跡データ算出方法 | |
JP2019150918A (ja) | ロボット制御装置およびロボット制御方法 | |
JP2007136671A (ja) | ロボットプログラム評価・修正方法及びロボットプログラム評価・修正装置 | |
Bianco | Evaluation of generalized force derivatives by means of a recursive Newton–Euler approach | |
WO2023068352A1 (ja) | ロボットデータ処理サーバ及び補正プログラム算出方法 | |
Mousavi Mohammadi et al. | A real-time impedance-based singularity and joint-limits avoidance approach for manual guidance of industrial robots | |
WO2023068354A1 (ja) | ロボットデータ処理サーバ及び干渉データ提供方法 | |
Santos et al. | Simulation Case Study for Improving Painting Tires Process Using the Fanuc Roboguide Software | |
CN114603552B (zh) | 一种机器人仿真方法、电子设备和存储介质 | |
WO2024105777A1 (ja) | 制御装置およびコンピュータ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 22883654 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2022883654 Country of ref document: EP |
|
ENP | Entry into the national phase |
Ref document number: 2022883654 Country of ref document: EP Effective date: 20240522 |