DE112019007404T5 - PARAMETER CALCULATION DEVICE, ROBOT CONTROL SYSTEM AND ROBOT SYSTEM - Google Patents
PARAMETER CALCULATION DEVICE, ROBOT CONTROL SYSTEM AND ROBOT SYSTEM Download PDFInfo
- Publication number
- DE112019007404T5 DE112019007404T5 DE112019007404.0T DE112019007404T DE112019007404T5 DE 112019007404 T5 DE112019007404 T5 DE 112019007404T5 DE 112019007404 T DE112019007404 T DE 112019007404T DE 112019007404 T5 DE112019007404 T5 DE 112019007404T5
- Authority
- DE
- Germany
- Prior art keywords
- unit
- robot
- calculation device
- movements
- parameter calculation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
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/1628—Programme controls characterised by the control loop
- B25J9/163—Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Manipulator (AREA)
- Numerical Control (AREA)
Abstract
Eine Parameterberechnungsvorrichtung (100) beinhaltet: eine Parameterspeichereinheit (110), die Parameter zum Steuern von Bewegungen eines Roboters für jeden Steuerabschnitt mit einer Geschwindigkeit von null als eine Grenze speichert; eine Zustandsvariablenerfassungseinheit (120), die auf Grundlage der Parameter Zustandsvariablen erfasst, die einen Zustand des Roboters bei einer Reihe von Bewegungen angeben, die aus einer Vielzahl von Steuerabschnitten gebildet ist; eine Bewertungseinheit (130), die auf Grundlage der Zustandsvariablen einen Bewertungswert zum Bewerten der Reihe von Bewegungen und eine Zykluszeit der Reihe von Bewegungen berechnet; und eine Einheit (140) zum maschinellen Lernen, die durch Lernen mittels mehrkriterieller Optimierung Parameter berechnet, die bewirken, dass der Bewertungswert eine erste Bedingung erfüllt und die Zykluszeit eine zweite Bedingung erfüllt, und die Parameterspeichereinheit (110) dazu veranlassen, die berechneten Parameter zu speichern. A parameter calculation device (100) includes: a parameter storage unit (110) that stores parameters for controlling movements of a robot for each control section with a speed of zero as a limit; a state variable acquisition unit (120) that acquires state variables indicative of a state of the robot in a series of movements, made up of a plurality of control sections, based on the parameters; an evaluation unit (130) that calculates an evaluation value for evaluating the series of movements and a cycle time of the series of movements based on the state variable; and a machine learning unit (140) that calculates parameters that cause the evaluation value to satisfy a first condition and the cycle time to satisfy a second condition through learning using multi-criteria optimization, and causes the parameter storage unit (110) to store the calculated parameters to save.
Description
Gebietarea
Die vorliegende Erfindung betrifft eine Parameterberechnungsvorrichtung, die einen Parameter zum Steuern einer Bewegung eines Roboters berechnet, und ein daran beteiligtes Robotersteuersystem und Robotersystem.The present invention relates to a parameter calculation device that calculates a parameter for controlling a movement of a robot, and a robot control system and robot system involved therein.
Hintergrundbackground
Seit einigen Jahren müssen Industrieroboter die Betriebsgeschwindigkeit gemäß ihrer vorgesehenen Arbeit erhöhen, um die Produktivität zu verbessern. Wenn jedoch ein Stellglied einer Gelenkwelle eines Roboters wiederholt mit seiner höchstmöglichen Geschwindigkeit betrieben wird, kann es sein, dass Komponenten, die in dem Roboter eingerichtet sind, so übermäßig verbraucht werden, dass die Auslegungslebensdauer je nach der Größe der Last nicht eingehalten werden kann. Aus diesem Grund ist es für eine Steuervorrichtung, die dazu ausgelegt ist, den Roboter zu steuern, wünschenswert, ein Lastdrehmoment oder dergleichen zu überwachen, das auf die Gelenkwelle des Roboters ausgeübt wird, und einen Geschwindigkeits- oder Beschleunigungsparameter zum Erstellen eines an das Stellglied auszugebenden Bewegungsbefehls einzustellen.In recent years, industrial robots have been required to increase operation speed according to their intended work in order to improve productivity. However, when an actuator of a propeller shaft of a robot is repeatedly operated at its highest possible speed, components installed in the robot may be consumed so excessively that the design life cannot be maintained depending on the size of the load. For this reason, it is desirable for a controller designed to control the robot to monitor a load torque or the like applied to the joint shaft of the robot and a speed or acceleration parameter to make one to be output to the actuator set motion command.
Die in Patentliteratur 1 beschriebene Simulationsvorrichtung zur Schätzung der Lebensdauer verringert einen Geschwindigkeitsbefehlswert, wenn der Wert der Last auf ein Untersetzungsgetriebe, der durch Simulation von Roboterbewegungen erhalten wird, größer als ein Lastreferenzwert ist, der zur Erfüllung der Ziellebensdauer erforderlich ist.The life estimation simulation device described in Patent Literature 1 decreases a speed command value when the value of the load on a reduction gear obtained by simulating robot motions is larger than a load reference value required to meet the target life.
Liste der AnführungenList of citations
Patentliteraturpatent literature
Patentliteratur 1:
Kurzdarstellungabstract
Technisches ProblemTechnical problem
Die oben aufgeführte Technik von Patentliteratur 1 verlängert jedoch eine Lebensdauer, indem sie den Geschwindigkeitsbefehlswert zu einem bestimmten Zeitpunkt verringert, und berücksichtigt keine Beschränkungsbedingung, wie etwa eine Lebensdauer in Bezug auf die gesamte Reihe von Bewegungen des Untersetzungsgetriebes. Daher ist es bei der oben aufgeführten Technik von Patentliteratur 1 nicht möglich, einen Bewegungsbefehl unter Berücksichtigung von sowohl einer Beschränkungsbedingung wie etwa einer Lebensdauer als auch einer Zykluszeit in Bezug auf die gesamte Reihe von Bewegungen einzustellen. Das heißt, bei der oben aufgeführten Technik von Patentliteratur 1 ist es nicht möglich zu bewirken, dass sowohl eine Beschränkungsbedingung für eine Reihe von Bewegungen als auch eine Bedingung für die Zykluszeit der Reihe von Bewegungen mit ihren jeweiligen spezifischen Bedingungen zufrieden sind.However, the above technique of Patent Literature 1 lengthens a lifetime by reducing the speed command value at a certain point in time, and does not consider a constraint condition such as a lifetime with respect to the entire series of movements of the speed reducer. Therefore, with the above technique of Patent Literature 1, it is not possible to set a movement command considering both a constraint condition such as a lifetime and a cycle time with respect to the entire series of movements. That is, with the technique of Patent Literature 1 listed above, it is not possible to make both a constraint condition for a series of motions and a condition for the cycle time of the series of motions to be satisfied with their respective specific conditions.
Die vorliegende Erfindung wurde angesichts der vorstehenden Umstände entwickelt und eine Aufgabe davon besteht darin, eine Parameterberechnungsvorrichtung bereitzustellen, die in der Lage ist, eine Gesamtoptimierung zu erreichen, bei der sowohl eine Beschränkungsbedingung für eine Reihe von Bewegungen als auch eine Bedingung für die Zykluszeit der Reihe von Bewegungen mit ihren jeweiligen spezifischen Bedingungen zufrieden sind.The present invention has been developed in view of the foregoing circumstances, and an object thereof is to provide a parameter calculation device capable of achieving overall optimization in which both a constraint condition for a series of movements and a condition for the cycle time of the series of movements are satisfied with their respective specific conditions.
Lösung des Problemsthe solution of the problem
Um die oben genannten Probleme zu lösen und die Aufgabe zu erfüllen, stellt die vorliegende Erfindung eine Parameterberechnungsvorrichtung bereit, umfassend: eine Parameterspeichereinheit, um einen oder mehrere Parameter zum Steuern einer oder mehrerer Bewegungen eines Roboters für jeden Steuerabschnitt mit einer Geschwindigkeit von null als eine Grenze zu speichern; eine Zustandsvariablenerfassungseinheit, um auf Grundlage der Parameter eine oder mehrere Zustandsvariablen zu erfassen, die einen Zustand des Roboters bei einer Reihe von Bewegungen angeben, die aus einer Vielzahl von Steuerabschnitten gebildet ist; eine Bewertungseinheit, um auf Grundlage der Zustandsvariablen einen Bewertungswert zum Bewerten der Reihe von Bewegungen und einer Zykluszeit der Reihe von Bewegungen zu berechnen; und eine Einheit zum maschinellen Lernen, um durch Lernen mittels mehrkriterieller Optimierung einen oder mehrere Parameter zu berechnen, mit denen der Bewertungswert eine erste Bedingung erfüllen kann und die Zykluszeit eine zweite Bedingung erfüllen kann, und die Parameterspeichereinheit dazu zu veranlassen, die berechneten Parameter zu speichern.In order to solve the above problems and achieve the object, the present invention provides a parameter calculation device comprising: a parameter storage unit to store one or more parameters for controlling one or more movements of a robot for each control section with a speed of zero as a limit save; a state variable acquiring unit for acquiring, based on the parameters, one or more state variables indicative of a state of the robot in a series of movements, made up of a plurality of control sections; an evaluation unit to calculate an evaluation value for evaluating the series of movements and a cycle time of the series of movements based on the state variable; and a machine learning unit for calculating one or more parameters with which the evaluation value can satisfy a first condition and the cycle time can satisfy a second condition through learning using multi-criteria optimization, and causing the parameter storage unit to store the calculated parameters .
Vorteilhafte Wirkungen der ErfindungAdvantageous Effects of the Invention
Die Parameterberechnungsvorrichtung gemäß der vorliegenden Erfindung kann eine vorteilhafte Wirkung des Erreichens einer Gesamtoptimierung erzielen, bei der sowohl eine Beschränkungsbedingung für eine Reihe von Bewegungen als auch eine Bedingung für die Zykluszeit der Reihe von Bewegungen mit ihren jeweiligen spezifischen Bedingungen zufrieden sind.The parameter calculation device according to the present invention can achieve an advantageous effect of achieving an overall optimization in which both a constraint condition for a series of movements and a condition for the cycle time of the series of movements are satisfied with their respective specific conditions.
Figurenlistecharacter list
-
1 ist ein Blockdiagramm, das eine Konfiguration einer Parameterberechnungsvorrichtung gemäß einer ersten Ausführungsform veranschaulicht.1 14 is a block diagram illustrating a configuration of a parameter calculation device according to a first embodiment. -
2 ist ein Ablaufdiagramm, das eine Parameterberechnungsprozedur der Parameterberechnungsvorrichtung gemäß der ersten Ausführungsform veranschaulicht.2 14 is a flowchart illustrating a parameter calculation procedure of the parameter calculation device according to the first embodiment. -
3 ist ein Blockdiagramm, das eine erste andere beispielhafte Konfiguration der Parameterberechnungsvorrichtung gemäß der ersten Ausführungsform veranschaulicht.3 14 is a block diagram illustrating a first other exemplary configuration of the parameter calculation device according to the first embodiment. -
4 ist eine Darstellung zur Erläuterung einer Reihe von Bewegungen eines Roboters gemäß der ersten Ausführungsform.4 12 is an illustration for explaining a series of movements of a robot according to the first embodiment. -
5 ist ein Diagramm, das ein Beispiel für ein Geschwindigkeitsmuster veranschaulicht, das durch die Parameterberechnungsvorrichtung gemäß der ersten Ausführungsform erstellt wird.5 FIG. 14 is a diagram illustrating an example of a velocity pattern prepared by the parameter calculation device according to the first embodiment. -
6 ist ein Diagramm, das ein Beispiel für ein Geschwindigkeitsmuster veranschaulicht, wenn eine maximale Geschwindigkeit und eine Beschleunigung in Bezug auf das in5 veranschaulichte Geschwindigkeitsmuster abgesenkt werden.6 is a diagram illustrating an example of a velocity pattern when a maximum velocity and an acceleration with respect to the in5 illustrated speed patterns are lowered. -
7 ist ein Diagramm zur Erläuterung von Unterschieden zwischen Geschwindigkeitsmustern, die durch die Parameterberechnungsvorrichtung gemäß der ersten Ausführungsform erstellt werden, und Geschwindigkeitsmustern eines Vergleichsbeispiels.7 12 is a diagram for explaining differences between speed patterns prepared by the parameter calculation device according to the first embodiment and speed patterns of a comparative example. -
8 ist ein Blockdiagramm, das eine zweite andere beispielhafte Konfiguration der Parameterberechnungsvorrichtung gemäß der ersten Ausführungsform veranschaulicht.8th 14 is a block diagram illustrating a second other example configuration of the parameter calculation device according to the first embodiment. -
9 ist ein Blockdiagramm, das eine dritte andere beispielhafte Konfiguration der Parameterberechnungsvorrichtung gemäß der ersten Ausführungsform veranschaulicht.9 14 is a block diagram illustrating a third other example configuration of the parameter calculation device according to the first embodiment. -
10 ist ein Blockdiagramm, das eine vierte andere beispielhafte Konfiguration der Parameterberechnungsvorrichtung gemäß der ersten Ausführungsform veranschaulicht.10 14 is a block diagram illustrating a fourth other example configuration of the parameter calculation device according to the first embodiment. -
11 ist eine Darstellung zur Erläuterung von Informationen, die auf einem Schnittstellenbildschirm durch die Parameterberechnungsvorrichtung aus10 angezeigt werden sollen.11 Fig. 14 is an illustration for explaining information displayed on an interface screen by the parameter calculation device10 are to be displayed. -
12 ist ein Blockdiagramm, das eine fünfte andere beispielhafte Konfiguration der Parameterberechnungsvorrichtung gemäß der ersten Ausführungsform veranschaulicht.12 14 is a block diagram illustrating a fifth other example configuration of the parameter calculation device according to the first embodiment. -
13 ist ein Blockdiagramm, das eine erste beispielhafte Konfiguration einer Parameterberechnungsvorrichtung gemäß einer zweiten Ausführungsform veranschaulicht.13 14 is a block diagram illustrating a first example configuration of a parameter calculation device according to a second embodiment. -
14 ist ein Blockdiagramm, das eine zweite beispielhafte Konfiguration der Parameterberechnungsvorrichtung gemäß der zweiten Ausführungsform veranschaulicht.14 14 is a block diagram illustrating a second example configuration of the parameter calculation device according to the second embodiment. -
15 ist ein Blockdiagramm, das eine beispielhafte Konfiguration einer Parameterberechnungsvorrichtung gemäß einer dritten Ausführungsform veranschaulicht.15 14 is a block diagram illustrating an example configuration of a parameter calculation device according to a third embodiment. -
16 ist ein Blockdiagramm, das eine beispielhafte Konfiguration eines Robotersystems veranschaulicht, das eine Parameterberechnungsvorrichtung gemäß einer fünften Ausführungsform beinhaltet.16 14 is a block diagram illustrating an example configuration of a robot system including a parameter calculation device according to a fifth embodiment.
-
17 ist eine Darstellung, die eine beispielhafte Hardwarekonfiguration der Parameterberechnungsvorrichtung gemäß jeder der ersten bis fünften Ausführungsform veranschaulicht.17 12 is a diagram illustrating an example hardware configuration of the parameter calculation device according to each of the first to fifth embodiments. -
18 ist eine Darstellung, die einen Steuerabschnitt veranschaulicht, bevor das Layout der Arbeitsumgebung durch die Parameterberechnungsvorrichtung gemäß einer sechsten Ausführungsform eingestellt wird.18 14 is a diagram illustrating a control section before the layout of the work environment is adjusted by the parameter calculation device according to a sixth embodiment. -
19 ist eine Darstellung, die einen Steuerabschnitt veranschaulicht, nachdem das Layout der Arbeitsumgebung durch die Parameterberechnungsvorrichtung gemäß der sechsten Ausführungsform eingestellt wurde.19 14 is a diagram illustrating a control section after the layout of the work environment is adjusted by the parameter calculation device according to the sixth embodiment.
Beschreibung von AusführungsformenDescription of Embodiments
Im Folgenden werden eine Parameterberechnungsvorrichtung, ein Robotersteuersystem und ein Robotersystem gemäß Ausführungsformen der vorliegenden Erfindung unter Bezugnahme auf die Zeichnungen näher beschrieben. Die vorliegende Erfindung ist nicht zwingend durch diese Ausführungsformen beschränkt.Hereinafter, a parameter calculation device, a robot control system, and a robot system according to embodiments of the present invention will be described in detail with reference to the drawings. The present invention is not necessarily limited by these embodiments.
Erste Ausführungsform.First embodiment.
<Vorrichtungskonfiguration><device configuration>
Die vorliegende Ausführungsform richtet sich auf die Beschreibung eines Falls, in dem es sich bei dem Roboter um einen Armroboter handelt, jedoch kann der Roboter eine beliebige Art von Roboter sein. Der Benutzer bewegt einen Armabschnitt des Roboters unter Verwendung einer Fernsteuerungsvorrichtung, die als Handprogrammiergerät bezeichnet wird, wodurch spezifische Positionen (Lernpunkte) eingelernt werden, durch die der Armabschnitt während eines Herstellungsprozesses eines Produkts verlaufen sollte. Alternativ dazu kann der Benutzer die Lernpunkte in den Armabschnitt des Roboters durch direktes Betätigen des Armabschnitts des Roboters oder dergleichen einlernen. Bei dem Roboter ist eine Betätigungsvorrichtung, die dazu ausgelegt ist, den Armabschnitt direkt zu betätigen, an dem Armabschnitt angebracht und hält ein Bediener die Betätigungsvorrichtung direkt mit der Hand, um den Armabschnitt zu bewegen, wodurch spezifische Positionen (Lernpunkte) eingelernt werden, durch die der Armabschnitt im Produktherstellungsprozess verlaufen sollte. Infolgedessen bewegt der Roboter den Armabschnitt während des Herstellungsprozesses des Produkts nacheinander an die Lernpunkte.The present embodiment is directed to the description of a case where the robot is an arm robot, but the robot may be any type of robot. The user moves an arm portion of the robot using a remote control device called a handheld programmer, thereby teaching specific positions (teaching points) through which the arm portion should pass during a manufacturing process of a product. Alternatively, the user can teach the learning points to the arm portion of the robot by directly manipulating the arm portion of the robot or the like. In the robot, an actuator designed to operate the arm portion directly is attached to the arm portion, and an operator directly holds the actuator with his hand to move the arm portion, thereby teaching specific positions (teaching points) through which the arm section should run in the product manufacturing process. As a result, the robot moves the arm portion to the learning points one by one during the manufacturing process of the product.
Die Parameterspeichereinheit 110 speichert für jeden Lernabschnitt einen Parameter oder mehrere Parameter zur Verwendung beim Erstellen eines Bewegungsbefehls für den Roboter. Die Parameterspeichereinheit 110 speichert für jeden Lernabschnitt eine Kombination von Parametern, die durch Lernen und Berechnung der Einheit 140 zum maschinellen Lernen erhalten werden. Mit einem Lernabschnitt ist ein Bewegungsabschnitt von einem Lernpunkt, d. h. einem Startpunkt einer Bewegung des Roboters, zu einem anderen Lernpunkt, d. h. einem Endpunkt davon, gemeint. Der Roboter führt eine Reihe von Bewegungen aus, indem er sich durch eine Vielzahl von Lernabschnitten bewegt. Es ist zu beachten, dass der Startpunkt und der Endpunkt einer Bewegung auf Grundlage eines Steuerprogramms (Robotersprache) eingestellt werden können, das dazu ausgelegt ist, die Bewegung des Roboters zu steuern. In diesem Fall speichert die Parameterspeichereinheit 110 für jeden Steuerabschnitt einen Parameter oder mehrere Parameter zur Verwendung beim Erstellen eines Bewegungsbefehls für den Roboter. Ein Steuerabschnitt entspricht einem Bewegungsabschnitt vom Startpunkt zum Endpunkt einer Bewegung des Roboters.The
Die Zustandsvariablenerfassungseinheit 120 liest den/die Parameter für jeden Lernabschnitt aus, wobei der/die Parameter in der Parameterspeichereinheit 110 gespeichert wurde/wurden. Auf Grundlage des/der Parameter, der/die für jeden Lernabschnitt festgelegt ist/sind, berechnet die Zustandsvariablenerfassungseinheit 120 eine oder mehrere Zustandsvariablen jeder Komponente (z. B. jedes Gelenk) des Roboters bei einem Probelauf einer aus einer Vielzahl von Lernabschnitten gebildeten Reihe von Bewegungen, wodurch Zustandsvariablen bei der Reihe von Bewegungen erfasst werden. Eine Zustandsvariable ist eine Information, die den Zustand des Roboters angibt, und variiert je nach der Bewegung des Roboters. Zu Beispielen für Zustandsvariablen gehören die Verschiebung, die Geschwindigkeit, die Beschleunigung, der elektrische Stromverbrauch und der elektrische Leistungsverbrauch jedes Gelenks bei einer Reihe von Bewegungen.The state
Die Bewertungseinheit 130 berechnet einen Bewertungswert zum Bewerten der Reihe von Bewegungen und der Zykluszeit der Reihe von Bewegungen unter Verwendung der durch die Zustandsvariablenerfassungseinheit 120 erfassten Zustandsvariablen. In der vorliegenden Ausführungsform ist der Bewertungswert eine vorhergesagte Lebensdauer einer oder mehrerer Komponenten, die in dem Roboter eingerichtet sind, im Fall von Wiederholungen der Reihe von Bewegungen, ein Effektivstrom (Stromverbrauch) einer oder mehrerer Komponenten, der bei der Reihe von Bewegungen verbraucht wird, oder eine elektrische Leistung (Leistungsverbrauch) einer oder mehrerer Komponenten, die bei der Reihe von Bewegungen verbraucht wird.The
Unter Verwendung der ein oder mehreren durch die Zustandsvariablenerfassungseinheit 120 erfassten Zustandsvariablen berechnet die Bewertungseinheit 130 die Zeit, die für den Probelauf der Reihe von Bewegungen benötigt wird, als eine Zykluszeit. Die Bewertungseinheit 130 berechnet ferner als einen Bewertungswert mindestens eines von der vorhergesagten Lebensdauer, die mit der Reihe von Bewegungen assoziiert ist, dem Stromverbrauch infolge des Verbrauchs von elektrischem Strom bei der Reihe von Bewegungen und dem Leistungsverbrauch infolge des Verbrauchs von elektrischer Leistung bei der Reihe von Bewegungen.Using the one or more state variables detected by the state
Die Bewertungseinheit 130 führt eine Bewertung für den Bewertungswert durch, indem sie bestimmt, ob der Bewertungswert eine Beschränkungsbedingung erfüllt oder nicht. Mit der Beschränkungsbedingung ist eine Bedingung gemeint, die auf Grundlage von mindestens einem von der Auslegungslebensdauer, einer Obergrenze für den Stromverbrauch bei der Reihe von Bewegungen und einer Obergrenze für den Leistungsverbrauch bei der Reihe von Bewegungen einer oder mehrerer Komponenten des Roboters festgelegt wird. Die Auslegungslebensdauer ist eine Lebensdauer, die frei durch den Benutzer eingestellt werden kann und sich von einer Nennlebensdauer (weiter unten beschrieben) unterscheidet. In einem Fall, in dem der Bewertungswert die vorhergesagte Lebensdauer ist, die mit der Reihe von Bewegungen assoziiert ist, verwendet die Bewertungseinheit 130 die Beschränkungsbedingung, die auf Grundlage der Auslegungslebensdauer festgelegt wird. In einem Fall, in dem der Bewertungswert der Stromverbrauch bei der Reihe von Bewegungen ist, verwendet die Bewertungseinheit 130 die Beschränkungsbedingung, die auf Grundlage der Obergrenze für den Stromverbrauch bei der Reihe von Bewegungen festgelegt wird. In einem Fall, in dem der Bewertungswert der Leistungsverbrauch bei der Reihe von Bewegungen ist, verwendet die Bewertungseinheit 130 die Beschränkungsbedingung, die auf Grundlage der Obergrenze des Leistungsverbrauchs bei der Reihe von Bewegungen festgelegt wird.The
Beispielsweise verwendet die Bewertungseinheit 130 die Auslegungslebensdauer, die Obergrenze für den Stromverbrauch oder die Obergrenze für den Leistungsverbrauch unverändert als die Beschränkungsbedingung, um zu bewerten, ob der Bewertungswert die Beschränkungsbedingung erfüllt oder nicht. Alternativ dazu kann die Bewertungseinheit 130 einen spezifischen Prozentsatz (z. B. 90 %) der Auslegungslebensdauer, einen spezifischen Prozentsatz der Obergrenze für den Stromverbrauch oder einen spezifischen Prozentsatz der Obergrenze für den Leistungsverbrauch verwenden, um zu bewerten, ob der Bewertungswert die Beschränkungsbedingung erfüllt oder nicht. Kurz ausgedrückt, kann die Beschränkungsbedingung ein spezifischer Prozentsatz der Auslegungslebensdauer, ein spezifischer Prozentsatz der Obergrenze für den Stromverbrauch oder ein spezifischer Prozentsatz der Obergrenze für den Leistungsverbrauch sein. Die Bewertungseinheit 130 sendet das Ergebnis der Bestimmung davon, ob die Beschränkungsbedingung erfüllt ist oder nicht, die Zykluszeit, die Beschränkungsbedingung und die Parameter, die für die Bewertung verwendet werden, an die Einheit 140 zum maschinellen Lernen.For example, the
Die Einheit 140 zum maschinellen Lernen speichert das Ergebnis der Bestimmung davon, ob die Beschränkungsbedingung erfüllt ist oder nicht, die Zykluszeit und die Beschränkungsbedingung im Voraus. Die Einheit 140 zum maschinellen Lernen sucht nach einer Kombination von solchen Parametern, dass die durch die Bewertungseinheit 130 berechnete Zykluszeit soweit minimiert wird, dass die Beschränkungsbedingung bei der gesamten Reihe von Bewegungen erfüllt ist. In der vorliegenden Ausführungsform entspricht das Bewirken, dass der Bewertungswert die Beschränkungsbedingung erfüllt, dem Bewirken, dass der Bewertungswert eine erste Bedingung erfüllt, und entspricht das Verkürzen der Zykluszeit dem Bewirken, dass die Zykluszeit eine zweite Bedingung erfüllt. Die Einheit 140 zum maschinellen Lernen aktualisiert die Werte von Parametern, die in der Parameterspeichereinheit 110 gespeichert sind, auf die Werte von Parametern (Kombination von Parametern) derart, dass die Zykluszeit die kleinste ist, die bei der Suche zu finden ist.The
Die Beendigungsbedingungsbestimmungseinheit 150 bestimmt auf Grundlage der Beendigungsbedingung der Parametereinstellung (Parameterberechnung), ob die Beendigungsbedingung erfüllt ist oder nicht. Die Beendigungsbedingung der Parametereinstellung lautet z. B., dass die Anzahl von Suchen nach einer Kombination von Parametern in der Einheit 140 zum maschinellen Lernen eine spezifizierte maximale Anzahl von Suchen erreichen sollte. Alternativ dazu kann die Beendigungsbedingung der Parametereinstellung sein, dass die zu minimierende Zykluszeit eine ausreichend kleine Verringerung aufweist, wie etwa weniger als 10-6 Sekunden gegenüber dem Mindestwert einer Zykluszeit, der bis zum vorherigen maschinellen Lernen erhalten wurde. In der vorliegenden Ausführungsform werden Parameter in dem Fall, in dem die Beendigungsbedingung erfüllt ist, als optimale Parameter bezeichnet und wird die Zykluszeit in dem Fall, in dem die Beendigungsbedingung erfüllt ist, als minimale Zykluszeit bezeichnet. Das heißt, Parameter werden in dem Fall, in dem die Beendigungsbedingung während des Prozesses zum Verbessern des Bewertungswerts erfüllt ist, als optimale Parameter bezeichnet. Darüber hinaus wird die Zykluszeit in dem Fall, in dem die Beendigungsbedingung während des Prozesses zum Verbessern des Bewertungswerts erfüllt ist, als minimale Zykluszeit bezeichnet.The completion
In dem Fall, in dem die Beendigungsbedingung erfüllt ist, gibt die Beendigungsbedingungsbestimmungseinheit 150 die Kombination von Parametern derart, dass die bis dahin erhaltene Zykluszeit minimiert wird, an eine externe Vorrichtung als eine Kombination der optimalen Parameter aus. Ein Beispiel für die externe Vorrichtung ist eine Steuerung, die dazu ausgelegt ist, den Roboter zu steuern.In the case where the ending condition is satisfied, the ending
In dem Fall, in dem die Beendigungsbedingung nicht erfüllt ist, benachrichtigt die Beendigungsbedingungsbestimmungseinheit 150 die Zustandsvariablenerfassungseinheit 120 darüber, dass die Beendigungsbedingung nicht erfüllt wurde. In diesem Fall berechnet die Parameterberechnungsvorrichtung 100 Parameter derart neu, dass die Zykluszeit minimiert wird.In the case where the termination condition is not satisfied, the termination
<Repetitive Verarbeitung der Einheit zum maschinellen Lernen><Repetitive processing of machine learning unit>
Die Parameterspeichereinheit 110 speichert einen oder mehrere Ausgangswerte einer Kombination von Parametern, die bei der Reihe von Bewegungen optimiert werden sollen (Schritt S102). Die Ausgangswerte einer Kombination von Parametern, die in der Parameterspeichereinheit 110 gespeichert werden sollen, können durch den Benutzer in die Parameterberechnungsvorrichtung 100 eingegeben werden oder können durch die Parameterberechnungsvorrichtung 100 von einer anderen Vorrichtung empfangen werden. Es ist zu beachten, dass entweder Schritt S101 oder Schritt S102 zuerst ausgeführt werden kann.The
Als Nächstes liest die Zustandsvariablenerfassungseinheit 120 die in der Parameterspeichereinheit 110 gespeicherte Kombination von Parametern aus und erfasst eine oder mehrere Zustandsvariablen der Reihe von Bewegungen (Schritt S103). Das heißt, die Zustandsvariablenerfassungseinheit 120 erfasst auf Grundlage des in der Parameterspeichereinheit 110 gespeicherten Parameters die Zustandsvariable jedes Gelenks des Roboters bei einem Probelauf der Reihe von Bewegungen. Die vorliegende Ausführungsform richtet sich auf die Beschreibung eines Falls, in dem die Zustandsvariablen die Verschiebung, Geschwindigkeit und Beschleunigung jedes Gelenks sind.Next, the state
Als Nächstes berechnet die Bewertungseinheit 130 eine Zykluszeit und einen Bewertungswert (Schritt S104). Insbesondere berechnet die Bewertungseinheit 130 mindestens eines von der vorhergesagten Lebensdauer, dem Stromverbrauch und dem Leistungsverbrauch als einen Bewertungswert und berechnet eine Zykluszeit. In der vorliegenden Ausführungsform berechnet die Bewertungseinheit 130, da es sich bei den Zustandsvariablen um die Verschiebung, Geschwindigkeit und Beschleunigung jedes Gelenks handelt, die vorhergesagte Lebensdauer als einen Bewertungswert.Next, the
Die Bewertungseinheit 130 bewertet den Bewertungswert, indem sie bestimmt, ob der Bewertungswert die Beschränkungsbedingung erfüllt oder nicht. Als Nächstes bestimmt die Bewertungseinheit 130, ob der Bewertungswert die Beschränkungsbedingung erfüllt oder nicht (Schritt S105). Die Bewertungseinheit 130 sendet der Einheit 140 zum maschinellen Lernen zudem das Ergebnis der Bestimmung davon, ob die Beschränkungsbedingung erfüllt ist oder nicht, die Zykluszeit, die Beschränkungsbedingung und die Parameter, die zur Bewertung verwendet werden.The
Als Reaktion auf die Bestimmung, dass die Beschränkungsbedingung erfüllt ist (Schritt S105: Ja), legt die Einheit 140 zum maschinellen Lernen als einen Kandidaten für eine Kombination der optimalen Parameter eine Kombination fest, durch welche die Zykluszeit unter den Kombinationen von Parametern, welche die Beschränkungsbedingung bisher erfüllt haben, am kürzesten wird. Im Folgenden wird ein Kandidat für die optimalen Parameter zum Zeitpunkt der Festlegung, der durch die Einheit 140 zum maschinellen Lernen festgelegt wird, als optimaler Kandidatenparameter bezeichnet. Ein optimaler Kandidatenparameter wird durch Verbessern eines Parameters derart erhalten, dass die Zykluszeit verkürzt wird. Die mit dem optimalen Kandidatenparameter erhaltene Zykluszeit ist eine minimale Kandidatenzykluszeit. Die Einheit 140 zum maschinellen Lernen aktualisiert die Werte von Parametern, die in der Parameterspeichereinheit 110 gespeichert sind, auf die festgelegte Kombination der optimalen Kandidatenparameter (Schritt S106).In response to determining that the constraint condition is satisfied (step S105: Yes), the
Auf diese Weise berechnet die Einheit 140 zum maschinellen Lernen durch Lernen Parameter, die es ermöglichen, dass der Bewertungswert als ein erstes Bewertungselement und die Zykluszeit als ein zweites Bewertungselement ihre jeweiligen spezifischen Bedingungen erfüllen. In der ersten Ausführungsform ist die spezifische Bedingung, die durch den Bewertungswert erfüllt werden soll, dass die Beschränkungsbedingung zu erfüllen ist, und ist die spezifische Bedingung, die durch die Zykluszeit erfüllt werden soll, dass die Zykluszeit zu verbessern (verkürzen) ist.In this way, the
Als Reaktion auf die Bestimmung, dass die Beschränkungsbedingung nicht erfüllt ist (Schritt S105: Nein), erstellt die Einheit 140 zum maschinellen Lernen eine neue Kombination von Parametern gemäß einem Optimierungsalgorithmus (mehrkriterielle Optimierung). Beispiele für den Optimierungsalgorithmus sind eine Partikelschwarmoptimierung, Bayessche Optimierung oder dergleichen (weiter unten beschrieben). Die Einheit 140 zum maschinellen Lernen legt die erstellte neue Kombination von Parametern in der Parameterspeichereinheit 110 fest (Schritt S107).In response to determining that the constraint condition is not satisfied (step S105: No), the
Nachdem die Einheit 140 zum maschinellen Lernen die Werte von Parametern, die in der Parameterspeichereinheit 110 gespeichert sind, auf die festgelegte Kombination von optimalen Kandidatenparametern aktualisiert hat, bestimmt die Beendigungsbedingungsbestimmungseinheit 150, ob die Beendigungsbedingung erfüllt ist oder nicht (Schritt S108). Als Reaktion auf die Bestimmung, dass die Beendigungsbedingung erfüllt ist (Schritt S108: Ja), beendet die Parameterberechnungsvorrichtung 100 die Suchverarbeitung nach dem optimalen Parameter. Als Reaktion auf die Bestimmung, dass die Beendigungsbedingung nicht erfüllt ist (Schritt S108: Nein), führt die Einheit 140 zum maschinellen Lernen einen Prozess von Schritt S107 aus. Das heißt, die Einheit 140 zum maschinellen Lernen legt in der Parameterspeichereinheit 110 eine neue Kombination von Parametern fest, die gemäß dem Optimierungsalgorithmus erstellt wird.After the
Nach dem Prozess von Schritt S107 kehrt die Parameterberechnungsvorrichtung 100 zu dem Prozess von Schritt S103 zurück und wiederholt den Prozess der Schritte S103 bis S108, bis die Beendigungsbedingung erfüllt ist.After the process of step S107, the
<Vorrichtungskonfiguration zur Verwendung eines Simulators><Device configuration for using a simulator>
Die Parameterberechnungsvorrichtung 100A, die der ersten anderen beispielhaften Konfiguration der Parameterberechnungsvorrichtung 100 entspricht, beinhaltet eine Zustandsvariablenerfassungseinheit 120A anstelle der Zustandsvariablenerfassungseinheit 120. Die Parameterberechnungsvorrichtung 100A erfasst eine Zustandsvariable unter Verwendung einer Robotersteuerung und eines Simulators, der ein kinetisches Modell des Roboters simuliert. Das heißt, die Zustandsvariablenerfassungseinheit 120A erfasst eine Zustandsvariable durch einen Probelauf einer Reihe von Bewegungen unter Verwendung einer Robotersteuerung und eines Simulators, die ein kinetisches Modell des Roboters simulieren.The
Die Zustandsvariablenerfassungseinheit 120A beinhaltet eine Befehlserstellungseinheit 121 und eine Bewegungsprobeeinheit 122. Die Befehlserstellungseinheit 121 ist mit der Parameterspeichereinheit 110 und der Beendigungsbedingungsbestimmungseinheit 150 verbunden. Die Bewegungsprobeeinheit 122 ist mit der Befehlserstellungseinheit 121 und der Bewertungseinheit 130 verbunden.The state
Die Befehlserstellungseinheit 121 liest einen oder mehrere Parameter aus, die in der Parameterspeichereinheit 110 gespeichert sind, und erstellt einen Bewegungsbefehlswert für den Roboter.The
Die Bewegungsprobeeinheit 122 führt eine Simulation, die auf den Bewegungsbefehlswerten für den Roboter beruht, unter Verwendung eines Simulators durch, der ein kinetisches Modell des Roboters simuliert, und erfasst Zustandsvariablen von Gelenken des Roboters bei der Reihe von Bewegungen aus dem Simulationsergebnis.The
Bei der Simulation, die auf den Bewegungsbefehlswerten beruht, kann die Bewegungsprobeeinheit 122 dazu ausgelegt sein, die durch die Befehlserstellungseinheit 121 erstellten Bewegungsbefehlswerte direkt in das kinetische Modell des Roboters einzugeben, oder kann dazu ausgelegt sein, eine spezifische Verarbeitung an den durch die Befehlserstellungseinheit 121 erstellten Bewegungsbefehlswerten auszuführen und dann Ergebnisse der Ausführung darin einzugeben. In diesem Fall gibt die Bewegungsprobeeinheit 122 z. B. die durch die Befehlserstellungseinheit 121 erstellten Bewegungsbefehlswerte durch mindestens eines von einem Filter, das Bewegungsbefehlswerte formt, einem Filter, das ein Vorwärtsregelungssystem simuliert, und einem Filter, das ein Rückführregelungssystem simuliert, und gibt die resultierenden Werte der Filterung in das Modell ein.In the simulation based on the movement command values, the
Obwohl sich
Darüber hinaus kann die Bewegungsprobeeinheit 122 eine spezifische Verarbeitung an den Bewegungsbefehlswerten ausführen, die durch die Befehlserstellungseinheit 121 während des Probelaufs der Reihe von Bewegungen erstellt werden, und die resultierenden Werte der Ausführung als Zustandsvariablen des Roboters erfassen. In diesem Fall gibt die Bewegungsprobeeinheit 122 z. B. die durch die Befehlserstellungseinheit 121 erstellten Bewegungsbefehlswerte durch mindestens eines von einem Filter, das Bewegungsbefehlswerte formt, einem Filter, das ein Vorwärtsregelungssystem simuliert, und einem Filter, das ein Rückführregelungssystem simuliert, und erfasst die resultierenden Werte der Filterung als Zustandsvariablen des Roboters.In addition, the
<Definition der Reihe von Bewegungen><definition of the series of movements>
Mit dem Ausdruck „Reihe von Bewegungen“ ist in der vorliegenden Ausführungsform eine Reihe oder Abfolge von Geschwindigkeitsmustern gemeint, die aus einer Vielzahl von Bewegungsabschnitten (Steuerabschnitten) von einem Startpunkt zu einem Endpunkt gebildet ist, wobei eine Geschwindigkeit von null als Grenze angesehen wird. Das heißt, „ein Steuerabschnitt“ in der vorliegenden Ausführungsform ist kein Abschnitt, der durch Aufteilen eines Geschwindigkeitsmusters erhalten wird, bei dem sich die Geschwindigkeit von null erhöht und auf null zurückgeht, sondern bezieht sich auf einen Abschnitt, bei dem sich die Geschwindigkeit von null erhöht und auf null zurückgeht. In einem Fall, in dem durch den Roboter 300 durchgeführte Bewegungen aus einer Bewegung vom Lernpunkt P1 zum Lernpunkt P2, einer Bewegung vom Lernpunkt P2 zum Lernpunkt P3 und einer Bewegung vom Lernpunkt P3 bis zum Lernpunkt P1 gebildet sind, werden diese drei Bewegungen in der vorliegenden Ausführungsform gemeinsam als eine Reihe von Bewegungen bezeichnet. Bei dieser Reihe von Bewegungen legt die Befehlserstellungseinheit 121 den Bewegungsabschnitt vom Lernpunkt P1 zum Lernpunkt P2 als einen Lernabschnitt P1-P2 fest, legt den Bewegungsabschnitt vom Lernpunkt P2 zum Lernpunkt P3 als einen Lernabschnitt P2-P3 fest und legt den Bewegungsabschnitt vom Lernpunkt P3 zum Lernpunkt P1 als einen Lernabschnitt P3-P1 fest.The term "series of movements" in the present embodiment means a series or sequence of speed patterns formed from a plurality of movement sections (control sections) from a starting point to an ending point, with a zero speed being regarded as a limit. That is, “a control section” in the present embodiment is not a section obtained by dividing a speed pattern in which the speed increases from zero and returns to zero, but refers to a section in which the speed changes from zero increases and returns to zero. In a case where movements performed by the
Für den Lernabschnitt P1-P2 erstellt die Befehlserstellungseinheit 121 auf Grundlage des/der für den Lernabschnitt P1-P2 festgelegten Parameter(s) einen Bewegungsbefehl für jeden Steuerzyklus, in dem sich das distale Ende 310 von dem Lernpunkt P1, d. h. dem Startpunkt, zum Lernpunkt P2, d. h. dem Endpunkt, bewegt.For the learning period P1-P2, the
Ebenso erstellt die Befehlserstellungseinheit 121 für den Lernabschnitt P2-P3 einen Bewegungsbefehl für jeden Steuerzyklus vom Lernpunkt P2 zum Lernpunkt P3 auf Grundlage der für den Lernabschnitt P2-P3 festgelegten Parameter. Die Befehlserstellungseinheit 121 erstellt zudem für den Lernabschnitt P3-P1 einen Bewegungsbefehl für jeden Steuerzyklus vom Lernpunkt P3 zum Lernpunkt P1 auf Grundlage der für den Lernabschnitt P3-P1 festgelegten Parameter.Also, the
<Einzustellende Parameter><Parameters to be set>
Wenn die Anzahl von Parametern, die in einem Lernabschnitt eingestellt werden sollen, „m“ ist (m ist eine natürliche Zahl) und die Anzahl von Lernabschnitten, die in einer Reihe von Bewegungen enthalten sind, „n“ ist (n ist eine natürliche Zahl), beträgt die Dimension von Kombinationen von Parametern, die durch die Einheit 140 zum maschinellen Lernen optimiert werden sollen, m × n.When the number of parameters to be set in one session is "m" (m is a natural number) and the number of sessions included in a series of movements is "n" (n is a natural number ), the dimension of combinations of parameters to be optimized by the
In der vorliegenden Ausführungsform wird mindestens eine von der maximalen Geschwindigkeit des distalen Endes 310, der Beschleunigung des distalen Endes 310 und der Bereitschaftszeit bis zur nächsten Bewegung des distalen Endes 310 als ein Parameter verwendet, der eingestellt werden soll, um einen Bewegungsbefehlswert zu bestimmen, der für jeden Steuerzyklus in jedem Lernabschnitt erstellt wird. In der folgenden Beschreibung wird die Bereitschaftszeit bis zur nächsten Bewegung des distalen Endes 310 als „Verzögerungszeit“ bezeichnet.In the present embodiment, at least one of the maximum speed of the
Die Befehlserstellungseinheit 121 erstellt einen Bewegungsbefehlswert für jedes Gelenk, um das in
Die Steigung des Geschwindigkeitsmusters PT1 in dem Beschleunigungsabschnitt ist die Beschleunigung im Beschleunigungsabschnitt und die Steigung des Geschwindigkeitsmusters PT1 in dem Bremsabschnitt ist die Abbremsung im Bremsabschnitt. Die Befehlserstellungseinheit 121 bestimmt die Geschwindigkeit v1 in dem konstanten Geschwindigkeitsabschnitt auf Grundlage des Parameters der maximalen Geschwindigkeit und bestimmt die Beschleunigung = v1 / (t1 - t0) in dem Beschleunigungsabschnitt und die Abbremsung = -v1 / (t3 - t2) in dem Bremsabschnitt unter Verwendung des Beschleunigungsparameters.The slope of the speed pattern PT1 in the acceleration section is the acceleration in the acceleration section, and the slope of the speed pattern PT1 in the deceleration section is the deceleration in the deceleration section. The
Wenn das Stellglied jedes Gelenks des Roboters mit seiner maximal möglichen Geschwindigkeit und Beschleunigung arbeitet, kann in einigen Fällen eine übermäßig große Last auf den Roboter ausgeübt werden. In solchen Fällen kann die Befehlserstellungseinheit 121 die Last im Austausch gegen eine Erhöhung der Zykluszeit verringern, indem einstellbare Parameter für jeden Lernabschnitt eingestellt werden, um die maximale Geschwindigkeit und Beschleunigung zu verringern oder um die Verzögerungszeit zu erhöhen. Infolgedessen kann die Parameterberechnungsvorrichtung 100A die Beschränkungsbedingung der vorhergesagten Lebensdauer bei der gesamten Reihe von Bewegungen erfüllen.In some cases, when the actuator of each joint of the robot is operating at its maximum possible speed and acceleration, an excessively large load may be applied to the robot. In such cases, the
Hierbei ist gemeint, dass das Geschwindigkeitsmuster PT1 und das Geschwindigkeitsmuster PT2 ihre jeweiligen unterschiedlichen Geschwindigkeitsmuster für einen Steuerabschnitt mit der Geschwindigkeit von null als eine Grenze darstellen.Here it is meant that the speed pattern PT1 and the speed pattern PT2 represent their respective different speed patterns for a control section with the speed of zero as a boundary.
Das Geschwindigkeitsmuster PT2 ist aus einem Beschleunigungsabschnitt vom Zeitpunkt t0 zu einem Zeitpunkt t1a, einem konstanten Geschwindigkeitsabschnitt vom Zeitpunkt t1a zu einem Zeitpunkt t2a und einem Bremsabschnitt vom Zeitpunkt t2a zu einem Zeitpunkt t3a gebildet. Die Steigung des Geschwindigkeitsmusters PT2 in dem Beschleunigungsabschnitt entspricht der Beschleunigung im Beschleunigungsabschnitt und die Steigung des Geschwindigkeitsmusters PT2 im Bremsabschnitt entspricht dem Abbremsen im Bremsabschnitt.The speed pattern PT2 is composed of an acceleration section from time t0 to time t1a, a constant speed section from time t1a to time t2a, and a deceleration section from time t2a to time t3a. The slope of the speed pattern PT2 in the acceleration section corresponds to the acceleration in the acceleration section, and the slope of the speed pattern PT2 in the deceleration section corresponds to the deceleration in the deceleration section.
Die Befehlserstellungseinheit 121 verringert die Geschwindigkeit in dem konstanten Geschwindigkeitsabschnitt von v1 auf v2, verringert die Beschleunigung im Beschleunigungsabschnitt und verringert die Abbremsung im Bremsabschnitt. Unter der Annahme, dass die Bewegungsroute vom Startpunkt zum Endpunkt des Lernabschnitts fest ist, ist die Bewegungsgröße jeder Welle des Roboters unveränderlich. Daher erstellt die Befehlserstellungseinheit 121 das Geschwindigkeitsmuster PT2 derart, dass die Fläche eines Trapezes, das durch das Geschwindigkeitsmuster PT2 vom Zeitpunkt t0 zum Zeitpunkt t3a gezeichnet wird, gleich der Fläche eines Trapezes ist, das durch das Geschwindigkeitsmuster PT1 vom Zeitpunkt t0 zum Zeitpunkt t3 gezeichnet wird.The
Daher kann die Einheit 140 zum maschinellen Lernen den Differenzbetrag (t3a - t3) > 0 in der Zykluszeit berechnen, die sich aus der Verringern der maximalen Geschwindigkeit und Beschleunigung aus den Parametern der maximalen Geschwindigkeit (Geschwindigkeit v2), Beschleunigung, Abbremsung und Verzögerungszeit, die für das Geschwindigkeitsmuster PT2 festgelegt wurden, ergibt. Es ist zu beachten, dass in einem Fall, in dem der absolute Wert der Beschleunigung und der absolute Wert der Abbremsung gleich sind, die Einheit 140 zum maschinellen Lernen den Differenzbetrag in der Zykluszeit unter Verwendung einer Beschleunigung anstelle einer Abbremsung berechnen kann oder den Differenzbetrag in der Zykluszeit unter Verwendung einer Abbremsung anstelle einer Beschleunigung berechnen kann.Therefore, the
Es ist zu beachten, dass die Befehlserstellungseinheit 121 die Geschwindigkeitsmuster PT1 und PT2 unter Verwendung anderer Parameter als der Parameter zum Einstellen der Werte der maximalen Geschwindigkeit und Beschleunigung festlegen kann. Beispielsweise kann die Befehlserstellungseinheit 121 die Geschwindigkeitsmuster PT1 und PT2 unter Verwendung eines Parameters zum Einstellen einer Entspannungsrate in Bezug auf einen oberen Grenzwert der maximalen Geschwindigkeit und eines Parameters zum Einstellen einer Entspannungsrate in Bezug auf einen oberen Grenzwert der Beschleunigung festlegen.Note that the
Beispielsweise kann die Befehlserstellungseinheit 121 dazu ausgelegt sein, die Entspannungsrate d für die maximale Geschwindigkeit eines Gelenks mit einer maximalen Geschwindigkeit v_max innerhalb des Bereichs von null bis eins einzustellen und die Geschwindigkeitsmuster PT1 und PT2 derart festzulegen, dass die eingestellte maximale Geschwindigkeit (v_max) × (1 - d) ist. Zu diesem Zeitpunkt kann in Bezug auf v_max der im Voraus für jedes Gelenk konzipierte obere Grenzwert der maximalen Geschwindigkeit als v_max angewandt werden. Der im Voraus für jedes Gelenk konzipierte obere Grenzwert der maximalen Geschwindigkeit ist ein Wert, der je nach der Fähigkeit des Stellglieds des Motors, der das Gelenk betätigt, bestimmt wird. Alternativ dazu kann in Bezug auf v_max die in jedem Lernabschnitt erreichbare maximale Geschwindigkeit als v_max angewandt werden.For example, the
Die Bewertungseinheit 130 in der vorliegenden Ausführungsform bewertet die Bewertungswerte für die gesamte Reihe von Bewegungen im Ganzen, wobei die Bewertungswerte anhand von durch die Zustandsvariablenerfassungseinheit 120A erfassten Zustandsvariablen berechnet werden. Darüber hinaus können Lernabschnitte, die in der Reihe von Bewegungen enthalten sind, bei denen die Parameter eingestellt werden, um die Zykluszeit unter die Beschränkungsbedingung zu minimieren, durch den Benutzer unter Verwendung einer Robotersprache vorgegeben werden. Der Benutzer kann einige Abschnitte der Bewegungen vorgeben, welche die dem Roboter erteilte Arbeit bilden, und die Parameterberechnungsvorrichtung 100A dazu veranlassen, die Parameter zu optimieren. In diesem Fall gibt der Benutzer in einem in einer Robotersprache erzeugten Programm den Start- und den Endpunkt des Abschnitts vor, in dem eine Parameteroptimierung durchgeführt wird.The
Die horizontale Achse einer in
Im Fall einer Bewertung für eine Bewegung in jedem Lernabschnitt werden Geschwindigkeitsmuster derart erzeugt, dass die Auslegungslebensdauer in jedem Lernabschnitt erfüllt ist. Beispielsweise werden in einem Fall, in dem die Auslegungslebensdauer 10.000 Stunden beträgt, die Geschwindigkeitsmuster derart erzeugt, dass jeder der Lernabschnitte P1-P2, P2-P3 und P3-P1 eine vorhergesagte Lebensdauer erreicht, die länger als 10.000 Stunden ist.
In dem Fall, in dem diese Bewertungseinheit 130 für eine Reihe von Bewegungen bewertet wird, kann, selbst wenn die vorhergesagte Lebensdauer, die mit Wiederholungen einer Teilbewegung (Bewegung in einigen der Lernabschnitte) assoziiert ist, kleiner als die Auslegungslebensdauer ist, eine Kombination von Parametern, mit denen die Auslegungslebensdauer durch Wiederholungen der gesamten Reihe von Bewegungen erfüllt werden kann, als ein Kandidat für eine optimale Lösung erkannt werden. Das liegt daran, dass, selbst wenn ein spezifischer Lernabschnitt eine vorhergesagte Lebensdauer aufweist, die kleiner als die Auslegungsdauer ist, die mit der gesamten Reihe von Bewegungen assoziierte vorhergesagte Lebensdauer die Auslegungslebensdauer erfüllen kann, wenn andere Abschnitte eine vorhergesagte Lebensdauer aufweisen, die gleich oder größer als die Auslegungslebensdauer ist. Daher kann die Bewertungseinheit 130 eine Lösung mit einer geringen Zykluszeit soweit erhalten, dass die Auslegungslebensdauer durch Ausgleichsabschnitte (Lernabschnitte), die zur Zykluszeitverringerung bei einer Hochgeschwindigkeitsbewegung beitragen, und Abschnitte (Lernabschnitten), die zur Lebensdauerverbesserung bei einer Niedriggeschwindigkeitsbewegung beitragen, erfüllt wird.In the case where this
<Vorrichtungskonfiguration im Fall der Verwendung einer vorhergesagten Lebensdauer als eine Beschränkungsbedingung><Device configuration in case of using a predicted lifetime as a constraint condition>
Die Parameterberechnungsvorrichtung 100B als die zweite andere beispielhafte Konfiguration der Parameterberechnungsvorrichtung 100 beinhaltet eine Bewertungseinheit 130B anstelle der Bewertungseinheit 130. Die Bewertungseinheit 130B beinhaltet eine Kinetikberechnungseinheit 131, eine Beschädigungsmaßberechnungseinheit 132 und eine Beschränkungsbestimmungseinheit 133a. Die Kinetikberechnungseinheit 131 ist mit der Bewegungsprobeeinheit 122 und der Beschädigungsmaßberechnungseinheit 132 verbunden. Die Beschädigungsmaßberechnungseinheit 132 ist mit der Beschränkungsbestimmungseinheit 133a verbunden. Die Beschränkungsbestimmungseinheit 133a ist mit der Einheit 140 zum maschinellen Lernen verbunden.The
Die Kinetikberechnungseinheit 131 verwendet die Werte der Verschiebung, Geschwindigkeit und Beschleunigung jedes Gelenks, die durch die Zustandsvariablenerfassungseinheit 120A erfasst werden, um ein Lastdrehmoment zu berechnen, das auf das Gelenk ausgeübt werden soll. Die Beschädigungsmaßberechnungseinheit 132 berechnet ein Beschädigungsmaß des Gelenks des Roboters auf Grundlage des Lastdrehmoments und des Bewegungsgrads jedes Gelenks, um dadurch die vorhergesagte Lebensdauer des Roboters zu berechnen, die mit Wiederholungen der Reihe von Bewegungen assoziiert ist. Der Bewegungsgrad jedes Gelenks ist eine Drehgeschwindigkeit oder ein linearer Bewegungsweg, die durch Umwandlung von einer Geschwindigkeit auf Grundlage der Struktur des Gelenks erhalten wird. Das Beschädigungsmaß einer Komponente (eines Teils) des Roboters ist der Grad der Beschädigung der Komponente des Roboters. Das Beschädigungsmaß einer Komponente des Roboters erhöht sich mit zunehmendem Lastdrehmoment und Bewegungsgrad jedes Gelenks. Eine detaillierte Definition des Beschädigungsmaßes wird weiter unten beschrieben.The
Die Beschränkungsbestimmungseinheit 133a bestimmt, ob eine aus der Parameterspeichereinheit 110 ausgelesene Kombination von Parametern die Beschränkungsbedingung für die Reihe von Bewegungen erfüllt oder nicht, unter Verwendung eines Bestimmungsausdrucks, der auf der vorhergesagten Lebensdauer, die durch die Beschädigungsmaßberechnungseinheit 132 berechnet wurde, und der Auslegungslebensdauer beruht. Ein Beispiel für den Bestimmungsausdruck ist ein nachfolgend beschriebener Ausdruck (12).The
<Kinetikberechnung><Kinetic Calculation>
Jedes Gelenk des Roboters ist aus zwei oder mehr Komponenten aufgebaut. Ein Gelenk, dessen Komponente drehbar ist, wird als Drehwelle bezeichnet und ein Gelenk, dessen Komponente linear beweglich ist, wird als Linearbewegungswelle bezeichnet. Die in der Bewertungseinheit 130B enthaltene Kinetikberechnungseinheit 131 berechnet die Größe T_i[k] des auf jedes Gelenk ausgeübten Lastdrehmoments und die Eingangsgeschwindigkeit n_i[k] einer Komponente des Roboters in jedem Steuerzyklus Δt (Einheit: Sekunde) des Roboters. Konkret wandelt die Kinetikberechnungseinheit 131 die Verschiebung, Geschwindigkeit und Beschleunigung jedes Gelenks, die von der Bewegungsprobeeinheit 122 erfasst werden, in eine Verschiebung, Geschwindigkeit und Beschleunigung auf der Ausgangsseite eines Bewegungskraftübertragungsmechanismus jedes Gelenks um, der ein Untersetzungsgetriebe, einen Kugelgewindetrieb und dergleichen beinhaltet. Dann berechnet die Kinetikberechnungseinheit 131 unter Verwendung der durch die Umwandlung erhaltenen Werte die Größe T_i[k] des auf jedes Gelenk ausgeübten Lastdrehmoments und die Eingangsdrehgeschwindigkeit n_i[k] einer Komponente des Roboters. Der tiefergestellte Index „i“ von T_i und n_i gibt an, dass sich der fragliche Wert auf die i-te (i ist eine natürliche Zahl) Achse des Roboters bezieht. Darüber hinaus gibt [k] an, dass der fragliche Wert im k-ten (k ist eine natürliche Zahl ist) Steuerzyklus Δt berechnet wird, wobei die Nummer ab dem Zeitpunkt gezählt wird, zu dem der Zähler in einem Beschädigungsmaßberechnungszyklus (weiter unten beschrieben) zurückgesetzt wird.Each joint of the robot is made up of two or more components. A joint whose component is rotatable is called a rotary shaft, and a joint whose component is linearly movable is called a linear motion shaft. The
<Definition von und Berechnungsverfahren für das Beschädigungsmaß><Definition of and calculation method for degree of damage>
In der vorliegenden Ausführungsform ist das Beschädigungsmaß des Roboters wie folgt definiert, um die vorhergesagte Lebensdauer, die mit Wiederholungen einer Reihe von Bewegungen assoziiert ist, als einen Bewertungswert zu verwenden. Ein Beschädigungsmaß wird als ein Index verwendet, der angibt, wie viel Ermüdung im aktuellen Betriebszustand unter der Annahme anfällt, dass mit dem Erreichen eines „Lebensendes“ gemeint ist, dass es bei einer Komponente des Roboters zu einem Ermüdungsbruch durch sich wiederholende Bewegungen kommt. In der vorliegenden Ausführungsform berechnet die Beschädigungsmaßberechnungseinheit 132 das Beschädigungsmaß einer Komponente q unter Verwendung eines Ausdrucks von (bisheriger kumulierter Wert der Antriebszeit oder kumulierter Wert der Drehgeschwindigkeit der Komponente q) / (Nennlebensdauer oder Nennlebensdauer-äquivalente Drehgeschwindigkeit der Komponente q, die unter den aktuellen Betriebsbedingungen erforderlich ist). Die Nennlebensdauer-äquivalente Drehgeschwindigkeit ist eine Drehgeschwindigkeit, die der Nennlebensdauer entspricht.In the present embodiment, the degree of damage of the robot is defined as follows to use the predicted lifetime associated with repetitions of a series of movements as an evaluation value. A damage measure is used as an index of how much fatigue accumulates in the current operating condition, assuming that reaching “end of life” means that a component of the robot experiences a repetitive motion fatigue failure. In the present embodiment, the damage
Da ein Berechnungsausdruck für die Nennlebensdauer oder Nennlebensdauer-äquivalente Drehgeschwindigkeit in Abhängigkeit einer Art der Komponente variiert, wird ein Berechnungsausdruck für ein Beschädigungsmaß für jede Art der Komponenten in der Beschädigungsmaßberechnungseinheit 132 festgelegt. Durch Definieren des Beschädigungsmaßes in der Parameterberechnungsvorrichtung 100B ist es möglich, die gleichen Kriterien zu verwenden, um die vorhergesagten Lebensdauern von zwei oder mehr Komponenten zu bewerten, deren Angaben zur Nennlebensdauer von Hersteller zu Hersteller verschieden sind.Since a calculation expression for the rated life or rated life-equivalent rotational speed varies depending on a kind of the component, a calculation expression for a damage amount is set for each kind of the components in the damage
In der vorliegenden Ausführungsform berechnet die Beschädigungsmaßberechnungseinheit 132 für jeden Lernabschnitt ein Beschädigungsmaß und legt die Summe der Beschädigungsmaße in allen Lernabschnitten als ein mit der Reihe von Bewegungen assoziiertes Beschädigungsmaß fest. Darüber hinaus kann die Beschädigungsmaßberechnungseinheit 132 das Beschädigungsmaß, das mit der Reihe von Bewegungen assoziiert ist, unter Verwendung des Zeitpunkts, zu dem die gesamte Reihe von Bewegungen abgeschlossen ist, als einen Beschädigungsmaßberechnungszyklus berechnen, bei dem es sich um einen Berechnungszyklus für das Beschädigungsmaß handelt.In the present embodiment, the damage
Beispielsweise wird in Betracht gezogen, dass das im Beschädigungsmaßberechnungszyklus berechnete Beschädigungsmaß durch Wiederholungen desselben Vorgangs kumuliert wird und der Zeitpunkt, zu dem der kumulierte Wert eins erreicht, als die vorhergesagte Lebensdauer festgelegt wird. Unter der Annahme, dass das Beschädigungsmaß des Roboters als Rlc wiedergegeben wird und die Zykluszeit als tc (Einheit: Sekunden) zu dem Zeitpunkt, zu dem ein Probelauf der Reihe von Bewegungen endet, wiedergegeben wird, kann die Beschädigungsmaßberechnungseinheit 132 den vorhergesagten Lebensdauerwert Lc (Einheit: Zeit) unter Verwendung des folgenden Ausdrucks (1) berechnen.
Unter der Annahme, dass das Beschädigungsmaß der Komponente q der i-ten Achse für eine Ausführung der Reihe von Bewegungen Rlc_i_q ist, kann die Beschädigungsmaßberechnungseinheit 132 den Wert des Beschädigungsmaßes Rlc unter Verwendung des folgenden Ausdrucks (2) berechnen, wobei der Wert bei der Berechnung der vorhergesagten Lebensdauer des gesamten Roboters verwendet werden soll.
Das heißt, von allen Achsen i und Komponenten q verwendet die Beschädigungsmaßberechnungseinheit 132 die Achse, die das größte Beschädigungsmaß aufweist, und ein Beschädigungsmaß der entsprechenden Komponente zur Bewertung des Beschädigungsmaßes des gesamten Roboters.That is, of all the axes i and components q, the damage
Die Beschädigungsmaßberechnungseinheit 132 berechnet das Beschädigungsmaß Rl_i[k]_q der Komponente q der i-ten Achse auf Grundlage des mittleren Lastdrehmoments Tav _i[k] und der in jedem spezifizierten Beschädigungsmaßberechnungszyklus t1[k] = k × Δt berechneten mittleren Eingangsdrehgeschwindigkeit Nav _i[k].The damage
Die Beschädigungsmaßberechnungseinheit 132 kann den r-ten (r ist ein Multiplikator, der in Abhängigkeit von der Art der Komponente q variiert) kumulierten Wert des Leistungsdrehmoments Tacc_i[k], den kumulierten Wert der Eingangsdrehgeschwindigkeit Nacc_i[k] und den kumulierten Wert der Antriebszeit tb_i[k] (Einheit: Sekunde) bis zum k-ten Δt jeweils unter Verwendung der folgenden Ausdrücke (3) bis (5) berechnen. Der r-te kumulierte Wert des Leistungsdrehmoments Tacc_i[k] ist ein kumulierter Wert des Drehmoments, das zum Antreiben der Komponente q verwendet wird, wobei sein Drehmomentmultiplikator r ist. Der kumulierte Wert der Eingangsdrehgeschwindigkeit Nacc_i[k] ist ein kumulierter Wert der Eingangsdrehgeschwindigkeit n_i[k] der Komponente q. Der kumulierte Wert der Antriebszeit tb_i[k] ist ein kumulierter Wert der Antriebszeit der Komponente q.
Unter Verwendung des kumulierten r-ten Leistungsdrehmomentwerts Tacc_i[k], des kumulierten Eingangsdrehgeschwindigkeitswerts Nacc_i[k] und des kumulierten Antriebszeitwerts tb_i[k], die durch die folgenden Ausdrücke (3) bis (5) wiedergegeben sind, kann die Beschädigungsmaßberechnungseinheit 132 das mittlere Lastdrehmoment Tav_i[k] und die mittlere Eingangsdrehgeschwindigkeit Nav_i[k] mit den folgenden Ausdrücken (6) bzw. (7) berechnen. Das mittlere Lastdrehmoment Tav _i[k] ist ein Mittelwert des Lastdrehmoments und die mittlere Eingangsdrehgeschwindigkeit Nav _i[k] ist ein Mittelwert der Eingangsdrehgeschwindigkeit n_i[k].
In einem Fall, in dem die Komponente q ein Untersetzungsgetriebe ist, kann die Beschädigungsmaßberechnungseinheit 132 die Nennlebensdauer Lh_i[k] (Einheit: Zeit) unter aktuellen Betriebsbedingungen unter Verwendung des folgenden Ausdrucks (8) berechnen, wobei das Nenndrehmoment Tr_i, die Nenndrehgeschwindigkeit Nr i und die Nennlebensdauer L10 i (Einheit: Zeit) des Untersetzungsgetriebes als Konstanten festgelegt sind. Darüber hinaus kann die Beschädigungsmaßberechnungseinheit 132 das Beschädigungsmaß Rl_i[k]_(Untersetzungsgetriebe) unter Verwendung des folgenden Ausdrucks (9) berechnen.
In einem Fall, in dem die zu bewertende Komponente ein Lager ist, kann die Beschädigungsmaßberechnungseinheit 132 die Nennlebensdauer-äquivalente Drehgeschwindigkeit Lr_i unter den aktuellen Betriebsbedingungen unter Verwendung des folgenden Ausdrucks (10) mit dem Umwandlungsfaktor u_i von dem mittleren Lastdrehmoment Tav _i[k] in die an der Position des Lagers ausgeübte mittlere Last, der grundlegenden dynamischen Nennlast C i des Lagers, dem Lastfaktor fw_i zur Berücksichtigung der Größe der Vibrationen der Maschine während ihres Betriebs und dem Multiplikator r, der in Abhängigkeit von der Art des/der Wälzkörper(s) in dem Lager variiert, berechnen. Darüber hinaus kann die Beschädigungsmaßberechnungseinheit 132 das Beschädigungsmaß Rl_i[k]_(Lager) unter Verwendung des folgenden Ausdrucks (11) berechnen. Die grundlegende dynamische Nennlast C_i ist eine konstante Last, bei der die Nennlebensdauer, die mit einer spezifischen Drehgeschwindigkeit assoziiert ist, erhalten wird.
<Erfüllung einer Lebensbeschränkung><fulfillment of a life constraint>
Die Beschränkungsbedingung, dass die vorhergesagte Lebensdauer Lc, die mit Wiederholungen der Reihe von Bewegungen assoziiert ist, nicht kleiner ist als die Auslegungslebensdauer Ls, kann durch den folgenden Ausdruck (12) wiedergegeben werden.
Die Parameterberechnungsvorrichtung 100B kann den folgenden Ausdruck (13) als die Beschränkungsbedingung verwenden. In dem Ausdruck (13) wird ein Wert (a × Ls), der durch Multiplizieren der spezifizierten Auslegungslebensdauer Ls mit einer angegebenen Konstante a erhalten wird, verwendet.
Wenn die vorhergesagte Lebensdauer, die für die festgelegte Kombination von Parametern berechnet wird, die Beschränkungsbedingung nicht erfüllt, die auf der Auslegungslebensdauer beruht, kann die Bewertungseinheit 130B dem Bewertungswert eine schwere Strafe auferlegen, sodass die Kombination von Parametern, welche die Beschränkung nicht erfüllt, in der Einheit 140 nicht zum maschinellen Lernen übernommen wird.If the predicted life calculated for the specified combination of parameters does not meet the constraint condition based on the design life, the
Beispielsweise kann in einem Fall, in dem die vorhergesagte Lebensdauer kleiner ist als die Auslegungslebensdauer, die Bewertungseinheit 130B einen Bewertungswert von etwa dem 100-Fachen der Zykluszeit ausgeben, die minimiert werden soll, sodass die Kombination von Parametern, welche die Beschränkungsbedingung nicht erfüllt, nicht als eine optimale Lösung zum Zeitpunkt des Abschlusses des Lernens ausgegeben wird.For example, in a case where the predicted lifetime is less than the design lifetime, the
<Betrieb der Einheit zum maschinellen Lernen><Operation of the machine learning unit>
Die Einheit 140 zum maschinellen Lernen verwendet die durch die Bewertungseinheit 130B berechneten Bewertungswerte, um derart nach einer Kombination von Parametern zu suchen, dass die Zykluszeit soweit minimiert wird, dass die Beschränkungsbedingung, die auf der Auslegungslebensdauer beruht, erfüllt ist. Wie oben beschrieben, beträgt, wenn die Anzahl von Parametern, die in einem Lernabschnitt eingestellt werden soll, m ist und die Anzahl von Lernabschnitten, die in einer Reihe von Bewegungen enthalten sind, n ist, die Dimension von Kombinationen von Parametern, nach denen durch die Einheit 140 zum maschinellen Lernen gesucht werden sollen, m × n. Als Suchverfahren dafür kann die Einheit 140 zum maschinellen Lernen ein öffentlich bekanntes Verfahren zur mehrkriteriellen Optimierung anwenden, bei dem ein kontinuierlicher Wert oder diskrete Werte verarbeitet werden können. Die Einheit 140 zum maschinellen Lernen kann eine Partikelschwarmoptimierung (PSO), eine Bayessche Optimierung oder dergleichen anwenden.The
Darüber hinaus kann die Einheit 140 zum maschinellen Lernen als ein öffentlich bekanntes Verfahren zum bestärkenden Lernen zudem das Schauspieler-Kritiker-Verfahren anwenden, das die Auswahl eines kontinuierlichen Werts oder diskreter Werte als eine Aktion, die durch ein Lernsubjekt vorzunehmen ist, und die Berechnung eines Bewertungswerts als Reaktion auf die ausgewählte Aktion ermöglicht. Die Einheit 140 zum maschinellen Lernen führt eine Optimierungsverarbeitung durch, bis die Lernbeendigungsbedingung in der Beendigungsbedingungsbestimmungseinheit 150 erfüllt ist, und aktualisiert die Kombination von Parametern, die in der Parameterspeichereinheit 110 gespeichert ist.In addition, as a publicly known reinforcement learning method, the
<Optimierungsbeispiel><optimization sample>
Als ein Optimierungsbeispiel wird ein PSO-basiertes Verfahren beschrieben, das mit Kombinationen von kontinuierlichen Werten arbeitet. Bei einem allgemeinen Partikelschwarmoptimierungsverfahren ist eine Gruppe von N (N ist eine natürliche Anzahl von zwei oder mehr) Partikeln in einem mehrdimensionalen Raum definiert und werden bei jedem Parametersuchprozess die Position p und die Geschwindigkeit v jedes Partikels unter Verwendung der folgenden Ausdrücke (14) bzw. (15) aktualisiert.
Hierbei steht w für eine Trägheitskonstante, stehen c1 und c2 für den Anteil von Partikeln, die auf Positionen gerichtet sind, die höhere Bewertungswerte innerhalb der Gruppe aufweisen, und stehen r1 und r2 für Zufallszahlen im Bereich von null bis eins. Darüber hinaus steht pj für die beste Position, die das Partikel je gefunden hat, und steht pg für die beste Position, die je in der gesamten Gruppe gefunden wurde.Where w is an inertia constant, c1 and c2 are the fraction of particles directed to positions that have higher scores within the group, and r1 and r2 are random numbers ranging from zero to one. Furthermore, pj represents the best position ever found by the particle and pg represents the best position ever found in the whole group.
In der vorliegenden Ausführungsform entspricht eine einzustellende Kombination von Parametern der Partikelposition p. Die Parameterberechnungsvorrichtung 100B gibt als eine optimale Lösung die Kombination von Parametern aus, welche die minimale Zykluszeit zu dem Zeitpunkt erreicht hat, bei dem eine spezifizierte Anzahl von Suchen T aufgetreten ist.In the present embodiment, a combination of parameters to be set corresponds to particle position p. The
In einem Fall, in dem die PSO auf die Einheit 140 zum maschinellen Lernen angewandt wird, führt die Parameterberechnungsvorrichtung 100B die Erfassung und Bewertung von Zustandsvariablen einer Reihe von Bewegungen für jedes der N Partikel durch. Die Bewertungseinheit 130B bestimmt, ob die Beschränkungsbedingung für jedes Partikel erfüllt ist oder nicht und bestimmt die Positionen der N Partikel unter Verwendung der Ausdrücke (14) und (15) derart neu, dass das Partikel mit dem besten Bewertungswert der Zykluszeit unter den Partikeln, welche die Beschränkungsbedingung erfüllen, durch andere Partikel angenähert wird.In a case where the PSO is applied to the
<Raffinesse eines Einstellverfahrens für einen Parametersuchbereich><Sophistication of a setting method for a parameter search area>
[Einstellung eines Suchausgangswerts unter Verwendung eines Bewertungswerts für jeden Lernabschnitt][Setting a search seed using an evaluation value for each session]
Die Einheit 140 zum maschinellen Lernen kann den Suchbereich für eine einzustellende Kombination von Parametern unter Verwendung des für jeden Lernabschnitt durch die Beschädigungsmaßberechnungseinheit 132 berechneten Beschädigungsmaßes begrenzen. Im Fall der Verwendung der PSO legt die Einheit 140 zum maschinellen Lernen den Ausgangswert jedes Partikels nicht zufällig fest, sondern kann die Ausgangswerte derart festlegen, dass eine niedrigere Geschwindigkeit und eine niedrigere Beschleunigung in Lernabschnitten mit höheren Beschädigungsmaßen gemäß der Größe der Beschädigungsmaße bei einem Probelauf der Reihe von Bewegungen umgesetzt werden, welche die maximale Geschwindigkeit und die maximale Beschleunigung in allen Lernabschnitten aufweist. Folglich kann die Parameterberechnungsvorrichtung 100B einfach eine Kombination von Parametern finden, durch die sich die vorhergesagte Lebensdauer in Bezug auf die Differenz der Zykluszeit effektiv verbessert und entsprechend die Zykluszeit mit einer kleineren Anzahl von Suchen verringern kann.The
[Auswahl eines einzustellenden Lernabschnitts unter Verwendung eines Bewertungswerts für jeden Lernabschnitt][Selecting a session to set using a rating value for each session]
Um die Suchzeit zu verringern, indem die Anzahl von einzustellenden Parametern verringert wird, kann die Einheit 140 zum maschinellen Lernen als ein Einstellungsziel nur die Bewegungen in höherrangigen Lernabschnitten mit höheren Beschädigungsmaßen innerhalb der Reihe von Bewegungen festlegen. Die Einheit 140 zum maschinellen Lernen kann eine Zielbewegung auf Grundlage des Verhältnisses zwischen dem Beschädigungsmaß der Bewegung und einer Zeitdauer der Bewegung in jedem Lernabschnitt bestimmen. Beispielsweise handelt es sich bei einem Lernabschnitt mit einem höheren Beschädigungsmaß um einen Lernabschnitt mit einer größeren Last. Daher wird davon ausgegangen, dass bei einem Lernabschnitt mit einem höheren Beschädigungsmaß ein höherer Nutzen aus einer Lebensdauerverbesserung bei der Reihe von Bewegungen aufgrund einer Verringerung der Geschwindigkeit oder Beschleunigung erreicht werden kann als bei einem Lernabschnitt mit einem niedrigeren Beschädigungsmaß für die gleiche Zeitdauer in Bewegung. Daher kann die Einheit 140 zum maschinellen Lernen als ein Einstellungsziel nur eine höherrangige Bewegung mit einem größeren Verhältnis des Beschädigungsmaßes zur Bewegungszeitdauer festlegen. Es ist zu beachten, dass die Einheit 140 zum maschinellen Lernen einen einzustellenden Lernabschnitt auf Grundlage des Verhältnisses zwischen dem Bewertungswert (Verschiebung, Geschwindigkeit, Beschleunigung oder dergleichen) und der Bewegungszeitdauer in jedem Lernabschnitt bestimmen kann.In order to reduce the search time by reducing the number of parameters to be adjusted, the
Darüber hinaus kann, selbst wenn sämtliche Lernabschnitte eingestellt werden sollen, die Einheit 140 zum maschinellen Lernen als die Ausgangswerte einer Kombination von Parametern Parameter in dem Fall festlegen, in dem nur die Parameter eines höherrangigen Lernabschnitts mit einem höheren Beschädigungsmaß bei der Reihe von Bewegungen eingestellt werden. Überdies kann die Einheit 140 zum maschinellen Lernen einen Lernabschnitt, der mit Ausgangswerten eingestellt werden soll, anhand des Verhältnisses zwischen dem Beschädigungsmaß jeder Bewegung und der Bewegungszeitdauer jeder Bewegung auswählen.Moreover, even if all the lessons are to be set, the
Wie oben beschrieben, kann die Einheit 140 zum maschinellen Lernen die Bewegungen in sämtlichen Lernabschnitten festlegen, die in der Reihe von Bewegungen als Einstellungsziele enthalten sind, oder kann nur die Bewegung in dem Lernabschnitt festlegen, der durch die Einheit 140 zum maschinellen Lernen auf Grundlage von Bewertungswerten von der Bewertungseinheit 130B als Einstellungsziel ausgewählt wurde. Darüber hinaus kann die Einheit 140 zum maschinellen Lernen nur die Bewegung in dem durch den Benutzer als Einstellungsziel vorgegebenen Lernabschnitt festlegen.As described above, the
Die Parameterberechnungsvorrichtung 100C als die dritte andere beispielhafte Konfiguration der Parameterberechnungsvorrichtung 100 beinhaltet eine Einstellabschnittspeichereinheit 160 neben den Komponenten der Parameterberechnungsvorrichtung 100. Die Einstellabschnittspeichereinheit 160 speichert den einzustellenden Lernabschnitt, der durch den Benutzer unter Verwendung eines Programmierwerkzeugs eingegeben wird. Die Einstellabschnittspeichereinheit 160 speichert einen Wert, der dem einzustellenden Lernabschnitt entspricht.The
Die Einheit 140 zum maschinellen Lernen liest den in der Einstellabschnittspeichereinheit 160 gespeicherten Wert aus und stellt nur die Parameter des Lernabschnitts ein, der dem ausgelesenen Wert entspricht. Dies bewirkt z. B., wenn es nicht gewünscht ist, die maximale Geschwindigkeit und Beschleunigung in einem bestimmten Lernabschnitt zu verringern, da die Parameterberechnungsvorrichtung 100C eine Einstellung nur in dem vorgegebenen Lernabschnitt durchführen kann, um eine Kombination von Parametern zu finden, welche die Beschränkungsbedingung zu der Reihe von Bewegungen erfüllt. Darüber hinaus kann die Parameterberechnungsvorrichtung 100C die Suchzeit verringern, indem die Anzahl der einzustellenden Parameter verringert wird.The
Wie oben beschrieben, kann die Parameterberechnungsvorrichtung 100C eine Kombination von Parametern erstellen, die verwendet werden kann, um eine Erhöhung der Zykluszeit zu verhindern, während die Beschränkungsbedingung der Auslegungslebensdauer bei der Reihe von Bewegungen des Roboters mit einer kleinen Anzahl von Probeläufen im Vergleich zu dem Fall mit umfangreichen Probeläufen von Kombinationen von Parametern auf Grundlage aller Parameter, die für jeden Lernabschnitt festgelegt wurden, erfüllt wird.As described above, the
Darüber hinaus kann die Parameterberechnungsvorrichtung 100C ein Werkzeug beinhalten, das Informationen in Bezug auf die Parametereinstellung visualisiert, während eine Parametereinstellung durch die Einheit 140 zum maschinellen Lernen durchgeführt wird. Bei Informationen in Bezug auf die Parametereinstellung handelt es sich um mindestens einen der Werte von Parametern, die in der Parameterspeichereinheit 110 neu gespeichert sind, die durch die Bewertungseinheit 130 berechnete Zykluszeit und den Bewertungswert der durch die Bewertungseinheit 130 berechneten vorhergesagten Lebensdauer.Moreover, the
Die Parameterberechnungsvorrichtung 100D als die vierte andere beispielhafte Konfiguration der Parameterberechnungsvorrichtung 100 beinhaltet eine Lernfortschrittsvisualisierungseinheit 170 neben den Komponenten der Parameterberechnungsvorrichtung 100. Die Lernfortschrittsvisualisierungseinheit 170 ist mit der Bewertungseinheit 130 und der Einheit 140 zum maschinellen Lernen verbunden. Die Lernfortschrittsvisualisierungseinheit 170 erfasst die Zykluszeit und die vorhergesagte Lebensdauer von der Bewertungseinheit 130 und erfasst einen Wert eines Parameters von der Einheit 140 zum maschinellen Lernen.The
Die Lernfortschrittsvisualisierungseinheit 170 zeigt auf einem Schnittstellenbildschirm 500 die von der Bewertungseinheit 130 und der Einheit 140 zum maschinellen Lernen erfassten Informationen an, d. h. Informationen, die sich auf den Status eines Lernfortschritts von Parametern beziehen. Der Schnittstellenbildschirm 500 ist ein Anzeigebildschirm für durch die Lernfortschrittsvisualisierungseinheit 170 ausgegebene Informationen (zu visualisierende Ergebnisse).The learning progress visualization unit 170 displays, on an
Beispielsweise gibt die Lernfortschrittsvisualisierungseinheit 170 die folgenden Arten von Informationen (A) bis (D) als den Status des Lernfortschritts an den Schnittstellenbildschirm 500 aus.
- (A) Bewertungswert (wie etwa einen Bewertungswert der vorhergesagten Lebensdauer jedes Gelenks), der in Schritt S104 aus
2 berechnet wird - (B) Ergebnis der Bestimmung in Schritt S105 aus
2 dahingehend, ob der Bewertungswert der vorhergesagten Lebensdauer die Beschränkungsbedingung erfüllt oder nicht - (C) Beste Kombination von Parametern zum Zeitpunkt der Aktualisierung, die in Schritt S106 aus
2 aktualisiert wurde - (D) Änderung der Zykluszeit mit optimierten Parametern
- (A) Evaluation value (such as an evaluation value of the predicted life of each joint) obtained in step S104
2 is calculated - (B) Result of determination in step S105
2 whether or not the predicted lifetime evaluation value satisfies the constraint condition - (C) Best combination of parameters at the time of update selected in step S106
2 has been updated - (D) Change in cycle time with optimized parameters
Der Schnittstellenbildschirm 500 zeigt den Bewertungswert der Reihe von Bewegungen jedes Gelenks, die beste Kombination von Parametern (optimale Parameter), die Zykluszeit und dergleichen an. Dadurch ist es dem Benutzer möglich, den Lernfortschritt zu beobachten und einen Parameter zu erfassen, der stark zum Bewertungswert der Reihe von Bewegungen und der Anzahl der Suchen beiträgt, die für die Einheit 140 zum maschinellen Lernen erforderlich sind, um sie zu einer Lösung zusammenzuführen.The
Darüber hinaus kann die Parameterberechnungsvorrichtung 100 eine Funktion zum Ausgeben eines Programms zum Betreiben des Roboters auf Grundlage der Parameter aufweisen, bei denen es sich um Ergebnisse handelt, die durch die Einheit 140 zum maschinellen Lernen eingestellt werden.
Die Parameterberechnungsvorrichtung 100E als die fünfte andere beispielhafte Konfiguration der Parameterberechnungsvorrichtung 100 beinhaltet eine Programmerstellungseinheit 180 neben den Komponenten der Parameterberechnungsvorrichtung 100. Die Programmerstellungseinheit 180 ist mit der Beendigungsbedingungsbestimmungseinheit 150 verbunden.The
Die Programmerstellungseinheit 180 erfasst eine optimale Kombination von Parametern von der Beendigungsbedingungsbestimmungseinheit 150 zu dem Zeitpunkt, zu dem die Beendigungsbedingungsbestimmungseinheit 150 bestimmt, dass die Beendigungsbedingung der Parametereinstellung erfüllt wurde. Die optimale Kombination von Parametern, die von der Beendigungsbedingungsbestimmungseinheit 150 durch die Programmerstellungseinheit 180 erfasst werden, ist die Kombination von Parametern, die in der Parameterspeichereinheit 110 gespeichert ist.The
Die Programmerstellungseinheit 180 erstellt ein Programm, um den Roboter dazu zu veranlassen, die Reihe von Bewegungen mit den Bewegungsbefehlswerten durchzuführen, die auf den erfassten Parametern beruhen. Das durch die Programmerstellungseinheit 180 erstellte Programm wird in einer Programmiersprache beschrieben, die durch den Benutzer zum Betreiben des Roboters verwendet wird. Die Programmerstellungseinheit 180 gibt das erstellte Programm an eine externe Vorrichtung (z. B. eine Steuerung, die dazu ausgelegt ist, den Roboter zu steuern) aus. Infolgedessen kann der Benutzer das optimale Programm für die Reihe von Bewegungen des Roboters erhalten.The
Im Übrigen kann eine Teiloptimierung auf Grundlage einer Parametereinstellung an einem Geschwindigkeitsmuster keine Lösung erzeugen, welche die Beschränkungsbedingung erfüllt, die für die gesamte Reihe von Bewegungen erforderlich ist, die eine Vielzahl von Geschwindigkeitsmustern beinhaltet. Im Gegensatz dazu wird in der vorliegenden Ausführungsform eine Gesamtoptimierung auf Grundlage einer Parametereinstellung an einer Reihe von Bewegungen durchgeführt, die eine Vielzahl von Geschwindigkeitsmustern beinhaltet. Daher ist es in der vorliegenden Ausführungsform möglich, eine Lösung zu erhalten, welche die Beschränkungsbedingung erfüllt, die für die gesamte Reihe von Bewegungen erforderlich ist, und die Zykluszeit verkürzt.Incidentally, a partial optimization based on a parameter adjustment on a velocity pattern cannot produce a solution that satisfies the constraint condition required for the entire series of motions involving a plurality of velocity patterns. In contrast, in the present embodiment, overall optimization based on parameter adjustment is performed on a series of motions that includes a variety of velocity patterns. Therefore, in the present embodiment, it is possible to obtain a solution that satisfies the constraint condition required for the entire series of movements and shortens the cycle time.
Zudem gibt es ein Verfahren zum Erstellen eines Betriebsprogramms, das Bewertungskriterien erfüllt, indem die Sollgeschwindigkeit und die Sollbeschleunigung zu einem bestimmten Zeitpunkt um einen vorgegebenen Betrag verringert werden. Zudem stellt bei diesem Verfahren die gesamte Reihe von Bewegungen keinen zu bewertenden Gegenstand dar und ist es somit unmöglich, eine optimale Lösung zu erzeugen, welche die Beschränkungsbedingung erfüllt, die für die gesamte Reihe von Bewegungen erforderlich ist.There is also a method for creating an operating program that satisfies evaluation criteria by reducing the target speed and the target acceleration by a predetermined amount at a specific point in time. In addition, with this method, the entire series of motions is not an object to be evaluated, and thus it is impossible to generate an optimal solution that satisfies the constraint condition required for the entire series of motions.
Zudem gibt es ein Verfahren zum Bewerten der Lebensdauer eines Maschinenelements, indem das Drehmoment und die Bewegungsgeschwindigkeit, die auf das Maschinenelement einwirken, anhand der Gelenkverschiebung, Geschwindigkeit und Beschleunigung des Roboters berechnet werden, und gleichmäßigen Verringern der Geschwindigkeit und Beschleunigung der Reihe von Bewegungen unter Verwendung des Verhältnisses zwischen der Ziellebensdauer und der bewerteten Lebensdauer. Bei diesem Verfahren ist es nicht möglich, eine Gesamtoptimierung durchzuführen, bei der die Bewegungsgeschwindigkeit und die Beschleunigung mit einer von einem Steuerabschnitt zum nächsten variierenden Rate eingestellt werden. Im Gegensatz dazu kann in der vorliegenden Ausführungsform, da der Beitrag zum Beschädigungsmaß und dergleichen bei der Reihe von Bewegungen für jeden Steuerabschnitt berücksichtigt wird, eine Gesamtoptimierung unter Verwendung der vorhergesagten Lebensdauer erreicht werden, die anhand des Beschädigungsmaßes und dergleichen als eine Beschränkungsbedingung berechnet wird.In addition, there is a method of evaluating the durability of a machine element by calculating the torque and moving speed acting on the machine element from the joint displacement, speed and acceleration of the robot, and uniformly reducing the speed and acceleration of the series of movements using the ratio between the target lifetime and the evaluated lifetime. With this method, it is not possible to perform an overall optimization in which the moving speed and the acceleration are adjusted at a varying rate from one control section to the next. In contrast, in the present embodiment, since the contribution to the damage amount and the like is taken into account in the series of movements for each control section, overall optimization can be achieved using the predicted lifetime calculated from the damage amount and the like as a constraint condition.
Wie oben beschrieben, sucht in der ersten Ausführungsform die Einheit 140 zum maschinellen Lernen nach einer Kombination von Parametern derart, dass die Zykluszeit der Reihe von Bewegungen soweit minimiert wird, dass die Beschränkungsbedingung einer Lebensdauer, die mit Wiederholungen der Reihe von Bewegungen assoziiert ist, erfüllt wird. Daher können die Parameterberechnungsvorrichtungen 100 und 100A bis 100E eine Erhöhung der Zykluszeit verhindern, während sie die Beschränkungsbedingung für eine Lebensdauer für eine ganze Reihe von Bewegungen des Roboters erfüllen. Infolgedessen kann der Roboter leicht mit Vielfalt und Produktion variabler Mengen zurechtkommen. Darüber hinaus kann der Roboter die Betriebsgeschwindigkeit gemäß seiner Zielarbeit erhöhen und somit die Produktivität verbessern. Als eine Grenze wird die Geschwindigkeit von null verwendet, sodass ein Bewegungsgang in einem Steuerabschnitt abgeschlossen ist, und in dieser Situation wird, wenn eine Optimierung für eine Reihe von Bewegungen umgesetzt werden kann, die aus der Kumulierung von zwei oder mehr von einem solchen Steuerabschnitt gebildet sind, eine Gesamtoptimierung durch die gesamte Arbeit erreicht. Demnach ist es möglich, eine Gesamtoptimierung zu erreichen, bei der sowohl eine Beschränkungsbedingung für eine Reihe von Bewegungen als auch die Zykluszeit für die Reihe von Bewegungen ihre jeweiligen spezifischen Bedingungen erfüllen.As described above, in the first embodiment, the
Zweite Ausführungsform.Second embodiment.
Als Nächstes wird die zweite Ausführungsform der vorliegenden Erfindung unter Bezugnahme auf die
<Vorrichtungskonfiguration zur Verwendung des Stromverbrauchs als eine Beschränkungsbedingung><Device configuration using power consumption as a constraint condition>
Die Parameterberechnungsvorrichtung 100F berechnet einen elektrischen Stromverbrauch jeder Komponente bei einer Reihe von Bewegungen des Roboters. Ein Beispiel für eine Komponente des Roboters ist ein Gelenk, das mit einem Stellglied ausgestattet ist. Die Parameterberechnungsvorrichtung 100F berechnet den Stromverbrauch eines Stellglieds bei der Reihe von Bewegungen des Roboters als den Stromverbrauch einer Komponente des Roboters und erstellt Parameter derart, dass die Beschränkungsbedingung, die auf Grundlage der Obergrenze für den Stromverbrauch festgelegt ist, erfüllt wird. Es ist zu beachten, dass die Parameterberechnungsvorrichtung 100F dazu ausgelegt sein kann, den Stromverbrauch einer anderen Komponente oder anderer Komponenten als eines Stellglieds zu berechnen, mit der bzw. denen ein Roboter ausgestattet ist, und Parameter derart zu erstellen, dass die Beschränkungsbedingung, die auf Grundlage der Obergrenze für den Stromverbrauch festgelegt ist, erfüllt wird.The
Im Vergleich zu der Parameterberechnungsvorrichtung 100B beinhaltet die Parameterberechnungsvorrichtung 100F eine Bewertungseinheit 130F anstelle der Bewertungseinheit 130B. Die Bewertungseinheit 130F beinhaltet eine Stromverbrauchsberechnungseinheit 134 und eine Beschränkungsbestimmungseinheit 135a.Compared to the
Die Stromverbrauchsberechnungseinheit 134 ist mit der Bewegungsprobeeinheit 122 und der Beschränkungsbestimmungseinheit 135a verbunden und die Beschränkungsbestimmungseinheit 135a ist mit der Einheit 140 zum maschinellen Lernen verbunden. Die Stromverbrauchsberechnungseinheit 134 berechnet den Stromverbrauch bei der Reihe von Bewegungen unter Verwendung des Stromverbrauchswerts des Stellglieds jedes Gelenks, der von der Zustandsvariablenerfassungseinheit 120A erfasst wird.The power
Die Stromverbrauchsberechnungseinheit 134 berechnet einen Stromverbrauch für jeden Lernabschnitt und legt die Summe des Stromverbrauchs in den Lernabschnitten als einen Stromverbrauch fest, der mit der Reihe von Bewegungen assoziiert ist. Darüber hinaus kann die Stromverbrauchsberechnungseinheit 134 den Stromverbrauch, der mit der Reihe von Bewegungen assoziiert ist, unter Verwendung des Zeitpunkts, zu dem die gesamte Reihe von Bewegungen endet, für einen Stromverbrauchsberechnungszyklus, d. h. einen Berechnungszyklus für einen Stromverbrauch, berechnen.The power
Die Stromverbrauchsberechnungseinheit 134 berechnet einen Wert I-i[k], bei dem es sich um einen Effektivwert handelt, der durch Umwandeln des durch die Zustandsvariablenerfassungseinheit 120A erfassten Stromwerts in jedem Steuerzyklus Δt (Einheit: Sekunde) des Roboters erhalten wird. Die Stromverbrauchsberechnungseinheit 134 berechnet den kumulierten Stromverbrauchswert Iacc_i[k] der i-ten Achse in dem Stromverbrauchsberechnungszyklus t2[k] = k × Δt unter Verwendung des folgenden Ausdrucks (16). Der kumulierte Stromverbrauchswert Iacc_i[k] ist ein kumulativer Wert des Stromverbrauchs, wenn das Stellglied angetrieben wird.
Die Beschränkungsbestimmungseinheit 135a bestimmt, ob eine Kombination von Parametern, die aus der Parameterspeichereinheit 110 ausgelesen wird, die Beschränkungsbedingung für die Reihe von Bewegungen erfüllt oder nicht, unter Verwendung eines Bestimmungsausdrucks, der auf dem Stromverbrauch bei der Reihe von Bewegungen, der durch die Stromverbrauchsberechnungseinheit 134 berechnet wird, und der Obergrenze für den Stromverbrauch beruht. Unter der Annahme, dass der kumulierte Stromverbrauchswert Iacc_i[k] der i-ten Achse in der gesamten Reihe von Bewegungen Ic_i ist und die Obergrenze für den Stromverbrauch der i-ten Achse Is_i ist, kann die Beschränkungsbedingung, dass der kumulierte Stromverbrauchswert Iacc_i[k] der i-ten Achse die Obergrenze für den Stromverbrauch der i-ten Achse nicht überschreiten sollte, durch den folgenden Ausdruck (17) ausgedrückt werden. In diesem Fall kann als die Obergrenze für den Stromverbrauch Is_i der Wert der Obergrenze für den Stromverbrauch, der für die Verwendung des Roboters im tatsächlichen Produktionsprozess erforderlich ist, festgelegt werden. Alternativ dazu kann der obere Grenzwert für den Stromverbrauch, der durch den Benutzer über eine Schnittstelle festgelegt wird, wenn der Benutzer die Reihe von Bewegungen des Roboters ausgestaltet, als Is_i angewandt werden.
<Vorrichtungskonfiguration im Fall der Verwendung eines Leistungsverbrauchs als eine Beschränkungsbedingung><Device configuration in case of using power consumption as a constraint condition>
Die Parameterberechnungsvorrichtung 100G berechnet den Leistungsverbrauch des Stellglieds jedes Gelenks bei der Reihe von Bewegungen des Roboters und erstellt Parameter derart, dass die Beschränkungsbedingung, die auf Grundlage der Obergrenze für den Leistungsverbrauch festgelegt ist, erfüllt wird. Es ist zu beachten, dass die Parameterberechnungsvorrichtung 100G dazu ausgelegt sein kann, einen elektrischen Leistungsverbrauch einer anderen Komponente oder anderer Komponenten als eines Stellglieds zu berechnen, mit der bzw. denen ein Roboter ausgestattet ist, und Parameter derart zu erstellen, dass die Beschränkungsbedingung, die auf Grundlage der Obergrenze für den Leistungsverbrauch festgelegt ist, erfüllt wird.The
Im Vergleich zu der Parameterberechnungsvorrichtung 100G beinhaltet die Parameterberechnungsvorrichtung 100F eine Bewertungseinheit 130G anstelle der Bewertungseinheit 130F. Die Bewertungseinheit 130G beinhaltet eine Leistungsverbrauchsberechnungseinheit 136 und eine Beschränkungsbestimmungseinheit 137a.Compared to the
Die Leistungsverbrauchsberechnungseinheit 136 ist mit der Bewegungsprobeeinheit 122 und der Beschränkungsbestimmungseinheit 137a verbunden und die Beschränkungsbestimmungseinheit 137a ist mit der Einheit 140 zum maschinellen Lernen verbunden. Die Leistungsverbrauchsberechnungseinheit 136 berechnet den Leistungsverbrauch bei der Reihe von Bewegungen unter Verwendung des Leistungsverbrauchswerts des Stellglieds jedes Gelenks, der von der Zustandsvariablenerfassungseinheit 120A erfasst wird.The power
Die Leistungsverbrauchsberechnungseinheit 136 berechnet den kumulierten Stromverbrauchswert Iacc_i[k] auf die gleiche Weise wie die Stromverbrauchsberechnungseinheit 134. Ferner berechnet die Leistungsverbrauchsberechnungseinheit 136 den kumulierten Leistungsverbrauchswert Wacc_i[k] unter Verwendung des mit dem Ausdruck (16) berechneten kumulierten Stromverbrauchswert Iacc_i[k] und einer Nennspannung V i. Das heißt, die Leistungsverbrauchsberechnungseinheit 136 berechnet den kumulierten Leistungsverbrauchswert Wacc_i[k] unter Verwendung des folgenden Ausdrucks (18). Der kumulierte Leistungsverbrauchswert Wacc_i[k] ist ein kumulierter Wert des Leistungsverbrauchs, wenn das Stellglied angetrieben wird.
Die Beschränkungsbestimmungseinheit 137a bestimmt, ob eine Kombination von Parametern, die aus der Parameterspeichereinheit 110 ausgelesen wird, die Beschränkungsbedingung für die Reihe von Bewegungen erfüllt oder nicht, unter Verwendung eines Bestimmungsausdrucks, der auf dem Leistungsverbrauch bei der Reihe von Bewegungen beruht, der durch die Leistungsverbrauchsberechnungseinheit 136 und die Obergrenze für den Leistungsverbrauch beruht. Unter der Annahme, dass der kumulierte Leistungsverbrauchswert Wacc_i[k] der i-ten Achse in der gesamten Reihe von Bewegungen Wc_i ist und die Obergrenze für den Leistungsverbrauch der i-ten Achse Ws_i ist, kann die Beschränkungsbedingung, dass der kumulierte Leistungsverbrauchswert Wacc_i[k] der i-ten Achse die Obergrenze für den Leistungsverbrauch der i-ten Achse nicht überschreiten sollte, durch den folgenden Ausdruck (19) ausgedrückt werden. In diesem Fall kann als die Obergrenze für den Leistungsverbrauch Ws_i der Wert einer Obergrenze für den Leistungsverbrauch, der für die Verwendung des Roboters im tatsächlichen Produktionsprozess erforderlich ist, festgelegt werden. Alternativ dazu kann der obere Grenzwert für einen Leistungsverbrauch, der durch den Benutzer über eine Schnittstelle festgelegt wird, wenn der Benutzer die Reihe von Bewegungen des Roboters ausgestaltet, als Ws_i angewandt werden.
Wie oben beschrieben, kann in dem Fall, in dem ein elektrischer Leistungsverbrauch als die Beschränkungsbedingung verwendet wird, die Parameterberechnungsvorrichtung 100G unter Verwendung des Ausdrucks (19) in der Beschränkungsbestimmungseinheit 137a anstelle des Ausdrucks (17) in der Beschränkungsbestimmungseinheit 135a bestimmen, ob die Beschränkungsbedingung erfüllt ist oder nicht.As described above, in the case where electric power consumption is used as the constraint condition, the
Die Einheit 140 zum maschinellen Lernen gemäß der vorliegenden Ausführungsform sucht nach einer Kombination von Parametern derart, dass die Zykluszeit soweit minimiert wird, dass die durch den Ausdruck (17) wiedergegebene Strombeschränkungsbedingung oder die durch den Ausdruck (19) wiedergegebene Leistungsbeschränkungsbedingung erfüllt ist. Das heißt, der durch die Einheit 140 zum maschinellen Lernen vorzunehmende Vorgang besteht darin, nach einer Kombination von Parametern zu suchen, welche die Zykluszeit soweit minimiert, dass die Strombeschränkungsbedingung des Ausdrucks (17) oder die Leistungsbeschränkungsbedingung des Ausdrucks (19) erfüllt ist, anstatt nach einer Kombination von Parametern zu suchen, welche die Zykluszeit soweit minimiert, dass die Lebensdauerbeschränkung des Ausdrucks (12) erfüllt ist. Die Einheit 140 zum maschinellen Lernen führt die gleiche Verarbeitung wie bei der ersten Ausführungsform mit Ausnahme dieser Suchverarbeitung aus.The
Die Einheit 140 zum maschinellen Lernen kann einen Lernabschnitt, in dem Parameter eingestellt werden sollen, auf Grundlage des kumulierten Stromverbrauchswerts Iacc_i[k], der für jeden Lernabschnitt durch die Stromverbrauchsberechnungseinheit 134 berechnet wird, oder des kumulierten Werts der Leistungsverbrauchsmenge, der für jeden Lernabschnitt durch die Leistungsverbrauchsberechnungseinheit 136 berechnet wird, für die Kombination von einzustellenden Parametern auswählen. In diesem Fall wählt die Einheit 140 zum maschinellen Lernen einen Lernabschnitt, der einen großen kumulierten Stromverbrauchswert Iacc_i[k] oder einen großen kumulierten Wert der Leistungsverbrauchsmenge aufweist, als ein Parametereinstellungsziel aus. Folglich kann die Einheit 140 zum maschinellen Lernen den Parametersuchbereich begrenzen.The
Darüber hinaus kann, um die Suchzeit zu verringern, indem die Anzahl von einzustellenden Parametern verringert wird, die Einheit 140 zum maschinellen Lernen nur die Bewegung in einem höherrangigen Lernabschnitt mit einem höheren Stromverbrauch oder Leistungsverbrauch bei der Reihe von Bewegungen als ein Einstellungsziel festlegen. Die Einheit 140 zum maschinellen Lernen kann eine Zielbewegung auf Grundlage des Verhältnisses in jedem Lernabschnitt zwischen dem Stromverbrauch oder Leistungsverbrauch der Bewegung und der Bewegungszeitdauer bestimmen.Moreover, in order to reduce the search time by reducing the number of parameters to be set, the
Darüber hinaus kann, selbst wenn sämtliche Lernabschnitte eingestellt werden sollen, die Einheit 140 zum maschinellen Lernen als die Ausgangswerte einer Kombination von Parametern Parameter festlegen, die in dem Fall erhalten werden, in dem nur die Parameter eines höherrangigen Lernabschnitts mit einem höheren Stromverbrauch oder Leistungsverbrauch bei der Reihe von Bewegungen eingestellt werden. Überdies kann die Einheit 140 zum maschinellen Lernen einen Lernabschnitt, der mit Ausgangswerten eingestellt werden soll, auf Grundlage des Verhältnisses zwischen dem Stromverbrauch oder Leistungsverbrauch jeder Bewegung und der Bewegungszeitdauer jeder Bewegung auswählen.In addition, even if all the sessions are to be set, the
Wie oben beschrieben, sucht in der zweiten Ausführungsform die Einheit 140 zum maschinellen Lernen nach einer Kombination von Parametern derart, dass die Zykluszeit der Reihe von Bewegungen soweit minimiert wird, dass die Beschränkungsbedingung für den Stromverbrauch oder Leistungsverbrauch bei der Reihe von Bewegungen erfüllt wird. Daher kann die Parameterberechnungsvorrichtung 100F eine Erhöhung der Zykluszeit verhindern, während sie die Beschränkungsbedingung für den Stromverbrauch für die gesamte Reihe von Bewegungen des Roboters erfüllt. Darüber hinaus kann die Parameterberechnungsvorrichtung 100G eine Erhöhung der Zykluszeit verhindern, während sie die Beschränkungsbedingung für den Leistungsverbrauch für die gesamte Reihe von Bewegungen des Roboters erfüllt.As described above, in the second embodiment, the
Darüber hinaus verwendet die Parameterberechnungsvorrichtung 100F einen bestimmten Lernabschnitt als ein Parametereinstellungsziel. Daher ist es möglich, eine Kombination von Parametern zu erstellen, die eine Erhöhung der Zykluszeit verhindern kann, während sie die Beschränkungsbedingung für die Obergrenze des Stromverbrauchs bei der Reihe von Bewegungen des Roboters mit einer kleineren Anzahl von Probeläufen im Vergleich zum Fall umfassender Probeläufe von Kombinationen von Parametern auf Grundlage aller Parameter, die für jeden Lernabschnitt festgelegt wurden, erfüllt.In addition, the
Darüber hinaus kann die Parameterberechnungsvorrichtung 100G eine Kombination von Parametern erstellen, die eine Erhöhung der Zykluszeit verhindern kann, während die Beschränkungsbedingung für die Obergrenze des Leistungsverbrauchs bei der Reihe von Bewegungen des Roboters mit einer kleineren Anzahl von Probeläufen im Vergleich zu dem Fall mit umfangreichen Probeläufen von Kombinationen von Parametern auf Grundlage aller Parameter, die für jeden Lernabschnitt festgelegt wurden, erfüllt wird.In addition, the
Dritte Ausführungsform.Third embodiment.
Als Nächstes wird die dritte Ausführungsform der vorliegenden Erfindung unter Bezugnahme auf
<Vorrichtungskonfiguration im Fall der Verwendung von zwei oder mehr von der vorhergesagten Lebensdauer, dem Strom und der Leistung als Beschränkungsbedingungen><Device Configuration in Case of Using Two or More of Predicted Life, Current and Power as Restriction Conditions>
Die Parameterberechnungsvorrichtung 100H erstellt Parameter derart, dass zwei oder mehr von einer Beschränkungsbedingung, die auf der Auslegungslebensdauer beruht, einer Beschränkungsbedingung, die auf der Obergrenze für den Stromverbrauch beruht, und einer Beschränkungsbedingung, die auf der Obergrenze für den Leistungsverbrauch beruht, bei einer Reihe von Bewegungen des Roboters erfüllt sind.The
Im Vergleich zu der Parameterberechnungsvorrichtung 100B beinhaltet die Parameterberechnungsvorrichtung 100H eine Bewertungseinheit 130H anstelle der Bewertungseinheit 130B. Die Bewertungseinheit 130H legt zwei oder mehr von einer Beschränkungsbedingung, die auf der Auslegungslebensdauer beruht, einer Beschränkungsbedingung, die auf der Obergrenze für den Stromverbrauch beruht, und einer Beschränkungsbedingung, die auf der Obergrenze für den Leistungsverbrauch beruht, fest. Die Bewertungseinheit 130H beinhaltet eine Beschränkungsauswahleinheit 138, die Kinetikberechnungseinheit 131, die Beschädigungsmaßberechnungseinheit 132, die Stromverbrauchsberechnungseinheit 134, die Leistungsverbrauchsberechnungseinheit 136 und eine Beschränkungsbestimmungseinheit 139.Compared to the
Die Beschränkungsauswahleinheit 138 ist mit der Parameterspeichereinheit 110, der Zustandsvariablenerfassungseinheit 120A, der Kinetikberechnungseinheit 131, der Stromverbrauchsberechnungseinheit 134 und der Leistungsverbrauchsberechnungseinheit 136 verbunden. Die Kinetikberechnungseinheit 131 ist mit der Beschädigungsmaßberechnungseinheit 132 verbunden. Die Beschränkungsbestimmungseinheit 139 ist mit der Beschädigungsmaßberechnungseinheit 132, der Stromverbrauchsberechnungseinheit 134, der Leistungsverbrauchsberechnungseinheit 136 und der Einheit 140 zum maschinellen Lernen verbunden.The
Wenn die Beschränkungsbedingung, die auf der Auslegungslebensdauer beruht, durch den Benutzer ausgewählt wird, erfasst die Zustandsvariablenerfassungseinheit 120A Zustandsvariablen (Werte von Verschiebung, Geschwindigkeit und Beschleunigung jedes Gelenks) in Bezug auf eine vorhergesagte Lebensdauer. Darüber hinaus erfasst die Zustandsvariablenerfassungseinheit 120A, wenn die Beschränkungsbedingung, die auf einer Obergrenze für den Stromverbrauch oder einer Obergrenze für den Leistungsverbrauch beruht, durch den Benutzer ausgewählt wird, Zustandsvariablen (Stromverbrauchswert des Stellglieds jedes Gelenks) in Bezug auf einen Stromverbrauch oder einen Leistungsverbrauch.When the constraint condition based on the design life is selected by the user, the state
Die Beschränkungsauswahleinheit 138 wählt die Art einer festzulegenden Beschränkungsbedingung aus den Beschränkungsbedingungen, die auf der Auslegungslebensdauer, der Obergrenze für den Stromverbrauch und der Obergrenze für den Leistungsverbrauch beruhen, gemäß einer Anweisung von dem Benutzer aus. Wenn die Beschränkungsbedingung, die auf der Auslegungslebensdauer beruht, durch den Benutzer ausgewählt wird, sendet die Beschränkungsauswahleinheit 138 Zustandsvariablen an die Kinetikberechnungseinheit 131. Demnach berechnet die Kinetikberechnungseinheit 131 das auf das Gelenk ausgeübte Lastdrehmoment und berechnet die Beschädigungsmaßberechnungseinheit 132 die vorhergesagte Lebensdauer, die mit Wiederholungen der Reihe von Bewegungen assoziiert ist. Die Beschädigungsmaßberechnungseinheit 132 sendet die vorhergesagte Lebensdauer an die Beschränkungsbestimmungseinheit 139.The
Darüber hinaus sendet, wenn die Beschränkungsbedingung, die auf einer Obergrenze für den Stromverbrauch beruht, durch den Benutzer ausgewählt wird, die Beschränkungsauswahleinheit 138 Zustandsvariablen an die Stromverbrauchsberechnungseinheit 134. Demnach berechnet die Stromverbrauchsberechnungseinheit 134 den kumulierten Stromverbrauchswert Ic_i bei der Reihe von Bewegungen unter Verwendung der Zustandsvariablen. Die Stromverbrauchsberechnungseinheit 134 sendet den kumulierten Stromverbrauchswert Ic_i an die Beschränkungsbestimmungseinheit 139.In addition, when the restriction condition based on an upper limit of power consumption is selected by the user, the
Darüber hinaus sendet, wenn die Beschränkungsbedingung, die auf einer Obergrenze für den Leistungsverbrauch beruht, durch den Benutzer ausgewählt wird, die Beschränkungsauswahleinheit 138 die Zustandsvariablen an die Leistungsverbrauchsberechnungseinheit 136. Demnach berechnet die Leistungsverbrauchsberechnungseinheit 136 den kumulierten Leistungsverbrauchswert Wc_i bei der Reihe von Bewegungen unter Verwendung der Zustandsvariablen. Die Leistungsverbrauchsberechnungseinheit 136 sendet den kumulierten Leistungsverbrauchswert Wc_i an die Beschränkungsbestimmungseinheit 139.In addition, when the restriction condition based on an upper limit of power consumption is selected by the user, the
Wenn die Beschränkungsbedingung, die auf einer Auslegungslebensdauer beruht, durch den Benutzer ausgewählt wird, bestimmt die Beschränkungsbestimmungseinheit 139, ob die Beschränkungsbedingung erfüllt ist oder nicht, unter Verwendung des Ausdrucks (12). Wenn die Beschränkungsbedingung, die auf einer Obergrenze für den Stromverbrauch beruht, durch den Benutzer ausgewählt wird, bestimmt die Beschränkungsbestimmungseinheit 139, ob die Beschränkungsbedingung erfüllt ist oder nicht, unter Verwendung des Ausdrucks (17). Wenn die Beschränkungsbedingung, die auf einer Obergrenze für den Leistungsverbrauch beruht, durch den Benutzer ausgewählt wird, bestimmt die Beschränkungsbestimmungseinheit 139, ob die Beschränkungsbedingung erfüllt ist oder nicht, unter Verwendung des Ausdrucks (19).When the constraint condition based on a design lifetime is selected by the user, the
Wenn die Bewertungswerte sämtliche der durch den Benutzer ausgewählten Beschränkungsbedingungen erfüllen, bestimmt die Beschränkungsbestimmungseinheit 139, dass die Beschränkungsbedingungen zu der Reihe von Bewegungen erfüllt sind. Die Einheit 140 zum maschinellen Lernen erlernt die Parameter auf die gleiche Weise wie bei der ersten und der zweiten Ausführungsform.When the evaluation values satisfy all of the restriction conditions selected by the user, the
Wie oben beschrieben, sucht in der dritten Ausführungsform die Einheit 140 zum maschinellen Lernen nach einer Kombination von Parametern, welche die Zykluszeit der Reihe von Bewegungen soweit minimiert, dass zwei oder mehr von einer Lebensdauer, einem Stromverbrauch und einem Leistungsverbrauch die Beschränkungsbedingungen erfüllen. Daher kann die Parameterberechnungsvorrichtung 100H eine Erhöhung der Zykluszeit verhindern, während sie die Beschränkungsbedingungen von zwei oder mehr von der Lebensdauer, dem Stromverbrauch und dem Leistungsverbrauch für die gesamte Reihe von Bewegungen des Roboters erfüllt.As described above, in the third embodiment, the
Vierte Ausführungsform.Fourth embodiment.
Als Nächstes wird die vierte Ausführungsform der vorliegenden Erfindung unter Bezugnahme auf
Die Verbesserung des Bewertungswerts des Beschädigungsmaßes wird durch Verringern eines Beschädigungsmaßes erreicht, wird die Verbesserung des Bewertungswerts des Stromverbrauchs wird durch Verringern eines Stromverbrauchs erreicht und wird die Verbesserung des Bewertungswerts des Leistungsverbrauchs durch Verringern eines Leistungsverbrauchs erreicht. In der vierten Ausführungsform lautet die durch die Zykluszeit zu erfüllende spezifische Bedingung, dass die Beschränkungsbedingung (innerhalb eines bestimmten Zeitraums) erfüllt werden sollte, und lautet die durch den Bewertungswert zu erfüllende spezifische Bedingung, dass der Bewertungswert verbessert werden sollte. Das heißt, das Verbessern des Bewertungswerts entspricht dem, dass bewirkt wird, dass der Bewertungswert eine erste Bedingung erfüllt, und das Bewirken, dass die Zykluszeit die Beschränkungsbedingung erfüllt, entspricht dem, dass bewirkt wird, dass die Zykluszeit eine zweite Bedingung erfüllt.The improvement in the evaluation value of the degree of damage is achieved by decreasing a degree of damage, the improvement in the evaluation value of power consumption is achieved by decreasing power consumption, and the improvement in the evaluation value of power consumption is achieved by decreasing power consumption. In the fourth embodiment, the specific condition to be satisfied by the cycle time is that the constraint condition should be satisfied (within a certain period of time), and the specific condition to be satisfied by the evaluation value is that the evaluation value should be improved. That is, improving the evaluation value corresponds to causing the evaluation value to satisfy a first condition, and making the cycle time satisfy the constraint condition corresponds to causing the cycle time to satisfy a second condition.
<Fall des Verlängerns einer vorhergesagten Lebensdauer mit der Zykluszeit als eine Beschränkungsbedingung><Case of extending a predicted lifetime with the cycle time as a constraint condition>
In der vorliegenden Ausführungsform wird eine beliebige der Parameterberechnungsvorrichtungen 100B, 100F und 100G verwendet. Die Parameterberechnungsvorrichtung 100B, 100F oder 100G findet eine Kombination von Parametern, die das Beschädigungsmaß, den Stromverbrauch oder den Leistungsverbrauch bei der Reihe von Bewegungen minimiert, während sie die Beschränkungsbedingung erfüllt, die auf der Zykluszeit beruht.In the present embodiment, any one of the
Die Beschränkungsbestimmungseinheit 133a, 135a oder 137a bestimmt, ob die auf Grundlage der Zykluszeit festgelegte Beschränkungsbedingung erfüllt ist oder nicht, und die Einheit 140 zum maschinellen Lernen findet eine Kombination von Parametern, die das Beschädigungsmaß, den Stromverbrauch oder den Leistungsverbrauch minimiert. Das Minimieren des Beschädigungsmaßes ist synonym mit dem Maximieren der vorhergesagten Lebensdauer.The
Nachfolgend wird eine Betriebsverarbeitung der Parameterberechnungsvorrichtung gemäß der vierten Ausführungsform beschrieben. Im Fall des Verringerns eines Beschädigungsmaßes (der vorhergesagten Lebensdauer) wird die Parameterberechnungsvorrichtung 100B verwendet. Im Fall des Verringerns eines Stromverbrauchs wird die Parameterberechnungsvorrichtung 100F verwendet. Im Fall des Verringerns eines Leistungsverbrauchs wird die Parameterberechnungsvorrichtung 100G verwendet.Operational processing of the parameter calculation device according to the fourth embodiment will be described below. In the case of decreasing a damage amount (predicted life), the
Es ist zu beachten, dass die Betriebsverarbeitung der Parameterberechnungsvorrichtung 100B, 100F oder 100G in der vierten Ausführungsform, die der Betriebsverarbeitung der Parameterberechnungsvorrichtung 100B, 100F oder 100G in der ersten bis dritten Ausführungsform ähnlich ist, nicht beschrieben wird. In der vierten Ausführungsform führen die Beschränkungsbestimmungseinheiten 133a, 135a und 137a im Wesentlichen die gleiche Verarbeitung durch und wird somit hier die Verarbeitung der Beschränkungsbestimmungseinheit 133a beschrieben. Ebenso führen in der vierten Ausführungsform die Bewertungseinheiten 130B, 130F und 130G im Wesentlichen die gleiche Verarbeitung durch und wird somit hier die Verarbeitung der Bewertungseinheit 130B beschrieben.Note that the operation processing of the
In der Beschränkungsbestimmungseinheit 133a wird ein Zykluszeitreferenzwert ts als eine Obergrenze für die zulässige Verzögerung für die Reihe von Bewegungen festgelegt. Der Zykluszeitreferenzwert ts ist die Beschränkungsbedingung einer Zykluszeit und ist die längste Zykluszeit, die bei Ausführung der Reihe von Bewegungen erlaubt ist. Wenn die durch die Bewertungseinheit 130B berechnete Zykluszeit tc den folgenden Ausdruck (20) erfüllt, bestimmt die Beschränkungsbestimmungseinheit 133a, dass die Beschränkungsbedingung der Zykluszeit bei der Reihe von Bewegungen erfüllt ist.
Beispielsweise ist der Zykluszeitreferenzwert ts auf 90 % der Zykluszeit festgelegt, die in dem Fall umgesetzt wird, in dem die Geschwindigkeit und Beschleunigung mit der gleichen Rate verringert werden, bis die Auslegungslebensdauer in jedem Lernabschnitt erfüllt ist. Alternativ dazu kann der Zykluszeitreferenzwert ts auf den Wert einer Zykluszeit festgelegt werden, die zum Ausgestalten der Bewegungen des Roboters bei dem tatsächlichen Produktionsprozess erforderlich ist.For example, the cycle time reference value ts is set to 90% of the cycle time implemented in the case where the speed and acceleration are reduced at the same rate until the design life is satisfied in each learning period. Alternatively, the cycle time reference value ts can be set to the value of a cycle time required for designing the movements of the robot in the actual production process.
Die Einheit 140 zum maschinellen Lernen sucht nach einer Kombination von Parametern, welche das Beschädigungsmaß, den Stromverbrauch oder den Leistungsverbrauch, die mit der durch die Bewertungseinheit 130B berechneten Reihe von Bewegungen assoziiert sind, soweit minimiert, dass die Beschränkungsbedingung des Ausdrucks (20) erfüllt ist. Mit anderen Worten sucht die Einheit 140 zum maschinellen Lernen nach einer Kombination von Parametern, durch die der durch die Bewertungseinheit 130B berechnete Bewertungswert soweit verbessert wird, dass die Beschränkungsbedingung des Ausdrucks (20) erfüllt ist. Die Einheit 140 zum maschinellen Lernen aktualisiert die Kombination von Parametern, die in der Parameterspeichereinheit 110 gespeichert sind, mit der gefundenen Kombination von Parametern.The
In einem Fall, in dem die Parameterberechnungsvorrichtung 100B verwendet wird, sucht die Einheit 140 zum maschinellen Lernen nach einer Kombination von Parametern, welche das Beschädigungsmaß, das mit der Reihe von Bewegungen assoziiert ist, soweit minimiert, dass die Beschränkungsbedingung des Ausdrucks (20) erfüllt ist.In a case where the
In einem Fall, in dem die Parameterberechnungsvorrichtung 100F verwendet wird, sucht die Einheit 140 zum maschinellen Lernen nach einer Kombination von Parametern, die den Stromverbrauch, der mit der Reihe von Bewegungen assoziiert ist, soweit minimiert, dass die Beschränkungsbedingung des Ausdrucks (20) erfüllt ist.In a case where the
In einem Fall, in dem die Parameterberechnungsvorrichtung 100G verwendet wird, sucht die Einheit 140 zum maschinellen Lernen nach einer Kombination von Parametern, die den Leistungsverbrauch, der mit der Reihe von Bewegungen assoziiert ist, soweit minimiert, dass die Beschränkungsbedingung des Ausdrucks (20) erfüllt ist.In a case where the
Es ist zu beachten, dass die in der vierten Ausführungsform beschriebene Verarbeitung auf die Parameterberechnungsvorrichtung 100H angewandt werden kann.Note that the processing described in the fourth embodiment can be applied to the
Es ist zu beachten, dass die Parameterberechnungsvorrichtung 100H gemäß der dritten Ausführungsform eine Kombination von Parametern erstellen kann, die mindestens einen der Bewertungswerte für das Beschädigungsmaß, den Stromverbrauch und den Leistungsverbrauch bei der Reihe von Bewegungen verbessern kann, während sie die Beschränkungsbedingung der Zykluszeit erfüllt. In diesem Fall wählt die Beschränkungsauswahleinheit 138 mindestens ein Optimierungsziel aus dem Beschädigungsmaß, dem Stromverbrauch und dem Leistungsverbrauch aus.Note that the
Wie oben beschrieben, sucht in der vierten Ausführungsform die Einheit 140 zum maschinellen Lernen nach einer Kombination von Parametern derart, dass mindestens eines von der Lebensdauer, dem Stromverbrauch und dem Leistungsverbrauch bei der Reihe von Bewegungen derart verbessert wird, dass die Beschränkungsbedingung der Zykluszeit, die mit Wiederholungen der Reihe von Bewegungen assoziiert ist, erfüllt wird. Daher kann die Einheit 140 zum maschinellen Lernen einen Bewegungsbefehl für die Reihe von Bewegungen erstellen, wobei der Bewegungsbefehl die Verlängerung der vorhergesagten Lebensdauer, Verringerung des Stromverbrauchs oder Verringerung des Leistungsverbrauchs ermöglicht, während die Zykluszeit erfüllt wird, die für die Reihe von Bewegungen des Roboters zulässig ist. Das heißt, die Einheit 140 zum maschinellen Lernen kann eine Erhöhung der Zykluszeit unter Berücksichtigung der vorhergesagten Lebensdauer, des Stromverbrauchs oder des Leistungsverbrauchs bei der Reihe von Bewegungen verhindern.As described above, in the fourth embodiment, the
Fünfte Ausführungsform.Fifth embodiment.
Als Nächstes wird die fünfte Ausführungsform der vorliegenden Erfindung unter Bezugnahme auf
<Vorrichtungskonfiguration im Fall des Erfassens von Zustandsvariablen von einem tatsächlichen Roboter><Device Configuration in Case of Acquiring State Variables from an Actual Robot>
Das Robotersystem 700 beinhaltet ein Robotersteuersystem 600 und den Roboter 300. Das Robotersteuersystem 600 ist ein System, das den Roboter 300 steuert, und beinhaltet eine Parameterberechnungsvorrichtung 1001 und die Robotersteuerung 200.The
Die Parameterberechnungsvorrichtung 1001 führt eine Kommunikation mit einem mit dem tatsächlichen Roboter 300 verbundenen Sensor 400 aus und erfasst Zustandsvariablen von dem Roboter 300. Die Parameterberechnungsvorrichtung 1001 beinhaltet die Parameterspeichereinheit 110, eine Zustandsvariablenerfassungseinheit 120B, die Bewertungseinheit 130, die Einheit 140 zum maschinellen Lernen und die Beendigungsbedingungsbestimmungseinheit 150.The parameter calculation device 1001 communicates with a
Das heißt, im Vergleich zu der Parameterberechnungsvorrichtung 100 beinhaltet die Parameterberechnungsvorrichtung 1001 die Zustandsvariablenerfassungseinheit 120B anstelle der Zustandsvariablenerfassungseinheit 120.That is, compared to the
Die Zustandsvariablenerfassungseinheit 120B beinhaltet eine Parameterübertragungseinheit 123 und eine Zustandsvariablenempfangseinheit 124. Die Parameterübertragungseinheit 123 ist mit der Parameterspeichereinheit 110, der Beendigungsbedingungsbestimmungseinheit 150 und der Robotersteuerung 200 verbunden und die Zustandsvariablenempfangseinheit 124 ist mit dem Sensor 400 und der Bewertungseinheit 130 verbunden.The state
Die Parameterübertragungseinheit 123 überträgt einen Parameter, der in der Parameterspeichereinheit 110 gespeichert ist, an die Robotersteuerung 200. Die Zustandsvariablenempfangseinheit 124 empfängt von dem Sensor 400 eine Zustandsvariable, die erhalten wird, wenn der Roboter 300 betrieben wird.The
Die Robotersteuerung 200 ist eine Vorrichtung, die dazu ausgelegt ist, den Roboter 300 unter Verwendung von Parametern zu steuern, die durch die Parameterberechnungsvorrichtung 1001 berechnet werden. Die Robotersteuerung 200 beinhaltet eine Befehlserstellungseinheit 201.The
Die Befehlserstellungseinheit 201 empfängt einen oder mehrere Parameter von der Parameterübertragungseinheit 123 und erstellt einen oder mehrere Bewegungsbefehlswerte für den Roboter 300 auf Grundlage der Parameter. Die Befehlserstellungseinheit 201 überträgt den erstellten Bewegungsbefehlswert an den Roboter 300. Der Roboter 300 führt eine Reihe von Bewegungen auf Grundlage der durch die Befehlserstellungseinheit 201 erstellten Bewegungsbefehlswerte aus.The
Der Sensor 400 erfasst eine oder mehrere Zustandsvariablen jedes Gelenks des Roboters 300 bei der Reihe von Bewegungen und überträgt die Zustandsvariablen an die Zustandsvariablenempfangseinheit 124. Der Sensor 400 kann innerhalb des Roboters 300 platziert sein oder kann außerhalb des Roboters 300 platziert sein. Darüber hinaus kann der Sensor 400 innerhalb des Robotersystems 700 platziert sein oder kann außerhalb des Robotersystems 700 platziert sein.The
In dem Robotersystem 700 erstellt die Befehlserstellungseinheit 201 als Reaktion darauf, dass die Parameterübertragungseinheit 123 einen oder mehrere Parameter, die in der Parameterspeichereinheit 110 gespeichert sind, an die Befehlserstellungseinheit 201 überträgt, Bewegungsbefehlswerte für den Roboter 300 auf Grundlage der Parameter. Der Roboter 300 führt eine Reihe von Bewegungen auf Grundlage der Bewegungsbefehlswerte aus und der Sensor 400 erfasst eine oder mehrere Zustandsvariablen jedes Gelenks des Roboters 300 bei der Reihe von Bewegungen und überträgt die Zustandsvariablen an die Zustandsvariablenempfangseinheit 124.In the
Demnach empfängt die Zustandsvariablenempfangseinheit 124 von dem Sensor 400 die Zustandsvariablen, die erhalten werden, wenn der Roboter 300 auf Grundlage der durch die Befehlserstellungseinheit 201 erstellten Bewegungsbefehlswerte betrieben wird. Auf diese Weise erfasst die Parameterberechnungsvorrichtung 1001 eine oder mehrere Zustandsvariablen anhand des Ergebnisses des Betriebs des tatsächlichen Roboters 300. Die Zustandsvariablenempfangseinheit 124 überträgt die empfangenen Zustandsvariablen an die Bewertungseinheit 130.Thus, the state
Die Bewertungseinheit 130, die Einheit 140 zum maschinellen Lernen und die Beendigungsbedingungsbestimmungseinheit 150 führen eine Verarbeitung aus, die ähnlich der in der ersten Ausführungsform beschriebenen ist. Folglich erstellt die Parameterberechnungsvorrichtung 1001 Parameter, die eine Erhöhung der Zykluszeit verhindern können, während sie die Beschränkungsbedingung für die Auslegungslebensdauer für die gesamte Reihe von Bewegungen des Roboters 300 erfüllen.The
Es ist zu beachten, dass die Parameterberechnungsvorrichtung 100I innerhalb der Robotersteuerung 200 platziert werden kann. In diesem Fall beinhaltet die Robotersteuerung 200 eine Lernpunkteingabeeinheit ein, die einen oder mehrere Lernpunkte empfängt und die Lernpunkte in die Parameterberechnungsvorrichtung 100I eingibt, und eine Parameterausgabeeinheit, die einen oder mehrere Parameter ausgibt, die durch die Parameterberechnungsvorrichtung 100I erstellt werden. Darüber hinaus kann die Zustandsvariablenerfassungseinheit 120B auf die Parameterberechnungsvorrichtungen 100A bis 100H angewandt werden.Note that the parameter calculation device 100I can be placed inside the
Wie oben beschrieben, kann die Parameterberechnungsvorrichtung 100I gemäß der fünften Ausführungsform eine optimale Kombination von Parametern unter der Beschränkungsbedingung zu der Reihe von Bewegungen unter Verwendung der von dem tatsächlichen Roboter 300 erfassten Zustandsvariablen finden.As described above, the parameter calculation device 100I according to the fifth embodiment can find an optimal combination of parameters under the constraint condition on the series of movements using the state variables detected from the
Hier wird die Hardwarekonfiguration der Parameterberechnungsvorrichtungen 100 und 100A bis 100I beschrieben.
Die Parameterberechnungsvorrichtung 100 kann durch die in
Die Parameterberechnungsvorrichtung 100 wird dadurch umgesetzt, dass der Prozessor 301 ein in dem Speicher 302 gespeichertes Programm zum Ausführen des Betriebs der Parameterberechnungsvorrichtung 100 liest und ausführt. Es kann auch gesagt werden, dass dieses Programm einen Computer dazu veranlasst, die Prozedur oder das Verfahren für die Parameterberechnungsvorrichtung 100 auszuführen. Der Speicher 302 wird zudem als ein temporärer Speicher verwendet, wenn der Prozessor 301 verschiedene Arten von Prozessen durchführt.The
Es ist zu beachten, dass einige der Funktionen der Parameterberechnungsvorrichtung 100 durch dedizierte Hardware umgesetzt werden können und einige andere davon durch Software oder Firmware umgesetzt werden können.It should be noted that some of the functions of the
Sechste Ausführungsform.Sixth embodiment.
Als Nächstes wird eine Ausführungsform zum Einstellen von Parametern zum Bestimmen des Layouts der Arbeitsumgebung des Roboters 300, der eine Reihe von Bewegungen ausführt, beschrieben. Parameter zum Bestimmen des Layouts der Arbeitsumgebung des Roboters 300 sind Parameter zum Bestimmen der Bewegungsroute (Steuerabschnitte) des Roboters 300. Das heißt, die vorliegende Ausführungsform richtet sich auf eine Beschreibung eines Falls, in dem Bewegungsparameter als Parameter dienen, die dazu vorgesehen sind, die Bewegungsroute des Roboters zu bestimmen.Next, an embodiment for setting parameters for determining the layout of the working environment of the
Als die Parameterberechnungsvorrichtung gemäß der vorliegenden Ausführungsform kann eine beliebige der in der ersten bis fünften Ausführungsform beschriebenen Parameterberechnungsvorrichtungen 100 und 100A bis 100I verwendet werden. Das heißt, eine beliebige der Parameterberechnungsvorrichtungen 100 und 100A bis 100I kann die Parameter zum Bestimmen des Layouts der Arbeitsumgebung des Roboters 300 einstellen.Any of the
Die vorliegende Ausführungsform richtet sich auf die Beschreibung eines Falls, in dem die Parameterberechnungsvorrichtung 100 die Parameter zum Bestimmen des Layouts der Arbeitsumgebung einstellt. Im Besonderen stellt die Parameterberechnungsvorrichtung 100 die Parameter zum Bestimmen des Layouts der Arbeitsumgebung ein, indem sie die Funktion einer beliebigen der Parameterberechnungsvorrichtungen 100 und 100A bis 100I unter Verwendung der Parameterspeichereinheit 110, der Zustandsvariablenerfassungseinheit 120, der Bewertungseinheit 130, der Einheit 140 zum maschinellen Lernen und der Beendigungsbedingungsbestimmungseinheit 150 ausführt.The present embodiment is directed to the description of a case where the
Unter Bezugnahme auf die
Die schematische Darstellung eines Layouts A1 in
Änderungen der Installationsposition des Roboters 300 und der Anordnung der Teilezuführeinrichtung 800 und des Montagetisches 801, die Elemente zum Bestimmen des Layouts der Arbeitsumgebung sind, führen zu Veränderungen der Haltung des Roboters 300 und des Bewegungsgrades jedes Gelenks des Roboters in jedem der Steuerabschnitte, welche die Reihe von Bewegungen bilden. Dies führt daher zu einer Änderung des Bewertungswerts der in der Bewertungseinheit 130 berechneten Reihe von Bewegungen, die in der Parameterberechnungsvorrichtung 100 enthalten ist, gemäß der in einer beliebigen der ersten bis fünften Ausführungsform beschriebenen Weise. Auf Grundlage dieses Bewertungswerts berechnet die Einheit 140 zum maschinellen Lernen Parameter zum Bestimmen des Layouts der Arbeitsumgebung unter Verwendung der in einer beliebigen der ersten bis fünften Ausführungsform beschriebenen Weise.Changes in the installation position of the
Beispiele von Parametern zum Bestimmen des Layouts der Arbeitsumgebung sind die dreidimensionalen Koordinaten (x, y, z) des Roboterbasisursprungs O1 und der Lernpunkte P1, P2 und P3. Die Parameterspeichereinheit 110 speichert diese dreidimensionalen Koordinaten als einzustellende Parameter. Die Einheit 140 zum maschinellen Lernen berechnet eine Kombination von dreidimensionalen Koordinaten unter Verwendung der Zykluszeit und des Bewertungswerts der durch die Bewertungseinheit 130 berechneten Reihe von Bewegungen, z. B. mittels PSO, bei der die dreidimensionale Koordinate (x, y, z) jedes Lernpunkts als Positionsvektor eines Partikels festgelegt wird.Examples of parameters for determining the layout of the work environment are the three-dimensional coordinates (x, y, z) of the robot base origin O1 and the learning points P1, P2, and P3. The
Um den Roboter 300 dazu zu veranlassen, Arbeit mit dem Layout der optimalen Parameter durchzuführen, die durch die Parameterberechnungsvorrichtung 100 ausgegeben werden, kann der Benutzer die Positionen von Installationen, wie etwa der Teilezuführeinrichtung 800 und des Montagetisches 801, bewegen. Alternativ dazu kann der Benutzer einen Punkt, an dem der Roboter 300 ein Objekt aufnimmt, auf einer Installation, wie etwa einem Förderband, bewegen, dessen Position fixiert wurde.In order to make the
Die Einheit 140 zum maschinellen Lernen kann den Parametersuchbereich gemäß der in einer beliebigen der ersten bis fünften Ausführungsform beschriebenen Weise einstellen. Beispielsweise kann beim Layout A0 in
Ferner kann die Parameterberechnungsvorrichtung 100 gemäß der vorliegenden Ausführungsform Parameter für jeden Steuerabschnitt der in einer beliebigen der ersten bis fünften Ausführungsform beschriebenen Reihe von Bewegungen zusammen mit den Parametern zum Bestimmen des Layouts der Arbeitsumgebung berechnen. Beispielsweise kann die Parameterberechnungsvorrichtung 100 dazu ausgelegt sein, die dreidimensionalen Koordinaten der in der Reihe von Bewegungen als Parameter enthaltenen dreidimensionalen Koordinaten zu berechnen und als Parameter die Geschwindigkeit und Beschleunigung im Steuerabschnitt zu berechnen, der bis zum nächsten Lernpunkt verläuft. Alternativ dazu kann die Parameterberechnungsvorrichtung 100 nur Parameter zum Bestimmen des Layouts der Arbeitsumgebung berechnen, ohne Parameter für jeden Steuerabschnitt der in einer der ersten bis fünften Ausführungsform beschriebenen Reihe von Bewegungen zu berechnen.Further, the
Wie oben beschrieben, beinhalten in der vorliegenden Ausführungsform Parameter zum Steuern der Bewegungen des Roboters 300 zwangsläufig Parameter zum Bestimmen des Layouts der Arbeitsumgebung, in welcher der Roboter 300 die Reihe von Bewegungen ausführt. Dahingegen sind in der vorliegenden Ausführungsform Parameter zum Steuern des Betriebs des Roboters 300, die in einer der ersten bis fünften Ausführungsform beschrieben sind, nicht erforderlich, um als in der Parameterspeichereinheit 110 gespeicherten Parameter oder als durch die Einheit 140 zum maschinellen Lernen erlernten Parameter zu dienen.As described above, in the present embodiment, parameters for controlling the movements of the
Wie oben beschrieben, ist es gemäß der sechsten Ausführungsform möglich, das Layout der Arbeitsumgebung zu bestimmen, das dazu beiträgt, eine Erhöhung der Zykluszeit zu verhindern, während die Beschränkungsbedingung der Reihe von Bewegungen erfüllt wird.As described above, according to the sixth embodiment, it is possible to determine the layout of the working environment that contributes to preventing the cycle time from increasing while satisfying the restriction condition of the series of movements.
Die Konfigurationen, die in den vorstehenden Ausführungsformen beschrieben sind, sind Beispiele für den Inhalt der vorliegenden Erfindung und können mit anderen öffentlich bekannten Techniken kombiniert und teilweise weggelassen und/oder modifiziert werden, ohne vom Umfang der vorliegenden Erfindung abzuweichen.The configurations described in the above embodiments are examples of the contents of the present invention, and can be combined with other publicly known techniques and partially omitted and/or modified without departing from the scope of the present invention.
Bezugszeichenlistereference list
- 100, 100A bis 100I100, 100A to 100I
- Parameterberechnungsvorrichtung;parameter calculation device;
- 110110
- Parameterspeichereinheit;parameter storage unit;
- 120, 120A, 120B120, 120A, 120B
- Zustandsvariablenerfassungseinheit;state variable detection unit;
- 121, 201121, 201
- Befehlserstellungseinheit;command generation unit;
- 122122
- Bewegungsprobeeinheit;movement test unit;
- 123123
- Parameterübertragungseinheit;parameter transmission unit;
- 124124
- Zustandsvariablenempfangseinheit;state variable receiving unit;
- 130, 130B, 130F, 130G, 130H130, 130B, 130F, 130G, 130H
- Bewertungseinheit;evaluation unit;
- 131131
- Kinetikberechnungseinheit;kinetics calculation unit;
- 132132
- Beschädigungsmaßberechnungseinheit;damage measure calculation unit;
- 133a, 135a, 137a, 139133a, 135a, 137a, 139
- Beschränkungsbestimmungseinheit;restriction determination unit;
- 134134
- Stromverbrauchsberechnungseinheit;power consumption calculation unit;
- 136136
- Leistungsverbrauchsberechnungseinheit;power consumption calculation unit;
- 138138
- Beschränkungsauswahleinheit;constraint selection unit;
- 140140
- Einheit zum maschinellen Lernen;machine learning unit;
- 150150
- Beendigungsbedingungsbestimmungseinheit;termination condition determination unit;
- 160160
- Einstellabschnittspeichereinheit;setting section storage unit;
- 170170
- Lernfortschrittsvisualisierungseinheit;learning progress visualization unit;
- 180180
- Programmerstellungseinheit;programming unit;
- 200200
- Robotersteuerung;robot controller;
- 300300
- Roboter;Robot;
- 301301
- Prozessor;Processor;
- 302302
- Speicher;Storage;
- 310310
- distales Ende;distal end;
- 400400
- Sensor;Sensor;
- 500500
- Schnittstellenbildschirm;interface screen;
- 600600
- Robotersteuersystem;robot control system;
- 700700
- Robotersystem;robotic system;
- 800800
- Teilezuführeinrichtung;parts feeder;
- 801801
- Montagetisch,assembly table,
- O1, O1'O1, O1'
- Roboterbasisursprung;robot base origin;
- P1, P1', P2, P2', P3, P3'P1, P1', P2, P2', P3, P3'
- Lernpunkt.learning point.
ZITATE ENTHALTEN IN DER BESCHREIBUNGQUOTES INCLUDED IN DESCRIPTION
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.This list of the documents cited by the applicant was generated automatically and is included solely for the better information of the reader. The list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions.
Zitierte PatentliteraturPatent Literature Cited
- JP 2013144349 [0004]JP 2013144349 [0004]
Claims (19)
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2019/022635 WO2020246005A1 (en) | 2019-06-06 | 2019-06-06 | Parameter calculation device, robot control system, and robot system |
JPPCT/JP2019/022635 | 2019-06-06 | ||
PCT/JP2019/047280 WO2020246059A1 (en) | 2019-06-06 | 2019-12-03 | Parameter calculation device, robot control system, and robot system |
Publications (1)
Publication Number | Publication Date |
---|---|
DE112019007404T5 true DE112019007404T5 (en) | 2022-02-24 |
Family
ID=73653155
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE112019007404.0T Pending DE112019007404T5 (en) | 2019-06-06 | 2019-12-03 | PARAMETER CALCULATION DEVICE, ROBOT CONTROL SYSTEM AND ROBOT SYSTEM |
Country Status (4)
Country | Link |
---|---|
JP (1) | JP6833115B1 (en) |
CN (1) | CN113950393B (en) |
DE (1) | DE112019007404T5 (en) |
WO (2) | WO2020246005A1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102022107392A1 (en) | 2022-03-29 | 2023-10-05 | Gerhard Schubert Gesellschaft mit beschränkter Haftung | Method for accelerating a handling machine |
DE102021103126B4 (en) | 2021-02-10 | 2023-10-12 | Gerhard Schubert Gesellschaft mit beschränkter Haftung | Method for accelerating a handling machine |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE112020007693T5 (en) * | 2020-10-12 | 2023-08-10 | Mitsubishi Electric Corporation | PARAMETER ADJUSTMENT DEVICE AND PARAMETER ADJUSTMENT METHOD |
JP7385948B1 (en) | 2022-05-11 | 2023-11-24 | オリエンタル技研工業株式会社 | Proposed device |
WO2024089873A1 (en) * | 2022-10-28 | 2024-05-02 | Smc株式会社 | Parameter determination device and parameter determination method |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013144349A (en) | 2011-12-13 | 2013-07-25 | Fanuc Ltd | Simulator for estimating life of robot speed reducer |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3040906B2 (en) * | 1994-01-19 | 2000-05-15 | 本田技研工業株式会社 | Robot operation time evaluation method and apparatus |
JP2004020388A (en) * | 2002-06-17 | 2004-01-22 | Mitsubishi Electric Corp | Lifetime evaluating device |
JP4096743B2 (en) * | 2003-01-17 | 2008-06-04 | 富士電機システムズ株式会社 | Cycle time display method, cycle time display device, and cycle time display program |
JP4111044B2 (en) * | 2003-04-21 | 2008-07-02 | 株式会社安川電機 | Robot controller |
JP2006215807A (en) * | 2005-02-03 | 2006-08-17 | Yaskawa Electric Corp | Robot control device and control method |
US9108316B2 (en) * | 2008-12-10 | 2015-08-18 | Abb Research Ltd. | Method and system for in-production optimization of the parameters of a robot used for assembly |
JP5890477B2 (en) * | 2014-07-09 | 2016-03-22 | ファナック株式会社 | Robot program correction system |
JP6219897B2 (en) * | 2015-09-28 | 2017-10-25 | ファナック株式会社 | Machine tools that generate optimal acceleration / deceleration |
JP6010204B1 (en) * | 2015-10-26 | 2016-10-19 | ファナック株式会社 | Machine learning apparatus and method for learning predicted life of power element, life prediction apparatus and motor driving apparatus equipped with machine learning apparatus |
JP2017199077A (en) * | 2016-04-25 | 2017-11-02 | ファナック株式会社 | Cell controller optimizing operation of production system having plurality of industrial machines |
JP6514171B2 (en) * | 2016-09-27 | 2019-05-15 | ファナック株式会社 | Machine learning apparatus and method for learning an optimal article gripping path |
JP6457473B2 (en) * | 2016-12-16 | 2019-01-23 | ファナック株式会社 | Machine learning apparatus, robot system, and machine learning method for learning operation of robot and laser scanner |
JP2018126798A (en) * | 2017-02-06 | 2018-08-16 | セイコーエプソン株式会社 | Control device, robot, and robot system |
JP2018126796A (en) * | 2017-02-06 | 2018-08-16 | セイコーエプソン株式会社 | Control device, robot, and robot system |
JP6514260B2 (en) * | 2017-04-13 | 2019-05-15 | ファナック株式会社 | Control device and machine learning device |
JP6680731B2 (en) * | 2017-08-23 | 2020-04-15 | ファナック株式会社 | Processing time prediction system |
JP6659652B2 (en) * | 2017-10-31 | 2020-03-04 | ファナック株式会社 | Processing condition adjustment device and machine learning device |
WO2019098044A1 (en) * | 2017-11-14 | 2019-05-23 | 三菱電機株式会社 | Robot motion adjustment device, motion control system, and robot system |
JP6877324B2 (en) * | 2017-11-27 | 2021-05-26 | 川崎重工業株式会社 | Robot control device and robot system equipped with it |
-
2019
- 2019-06-06 WO PCT/JP2019/022635 patent/WO2020246005A1/en active Application Filing
- 2019-12-03 WO PCT/JP2019/047280 patent/WO2020246059A1/en active Application Filing
- 2019-12-03 CN CN201980097072.3A patent/CN113950393B/en active Active
- 2019-12-03 DE DE112019007404.0T patent/DE112019007404T5/en active Pending
- 2019-12-03 JP JP2020527981A patent/JP6833115B1/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013144349A (en) | 2011-12-13 | 2013-07-25 | Fanuc Ltd | Simulator for estimating life of robot speed reducer |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102021103126B4 (en) | 2021-02-10 | 2023-10-12 | Gerhard Schubert Gesellschaft mit beschränkter Haftung | Method for accelerating a handling machine |
DE102022107392A1 (en) | 2022-03-29 | 2023-10-05 | Gerhard Schubert Gesellschaft mit beschränkter Haftung | Method for accelerating a handling machine |
Also Published As
Publication number | Publication date |
---|---|
CN113950393A (en) | 2022-01-18 |
WO2020246059A1 (en) | 2020-12-10 |
CN113950393B (en) | 2023-11-17 |
WO2020246005A1 (en) | 2020-12-10 |
JP6833115B1 (en) | 2021-02-24 |
JPWO2020246059A1 (en) | 2021-09-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE112019007404T5 (en) | PARAMETER CALCULATION DEVICE, ROBOT CONTROL SYSTEM AND ROBOT SYSTEM | |
DE102017000955B4 (en) | Production control system and integrated production control system | |
DE102018204740B4 (en) | Action information learning device, robot control system and action information learning method | |
DE102016008994B4 (en) | MACHINE TOOL, SIMULATION DEVICE AND MACHINE LEARNING DEVICE | |
DE112017002498B4 (en) | ROBOT OPERATION EVALUATION DEVICE, ROBOT OPERATION EVALUATION METHOD AND ROBOT SYSTEM | |
DE102015004932B4 (en) | Simulation device for several robots | |
DE102019001948B4 (en) | Control and machine learning device | |
DE102010021604B4 (en) | Apparatus for estimating an energy consumption | |
DE102013008523B4 (en) | Robot program changing device | |
DE102018006946A1 (en) | CONTROL AND MECHANICAL LEARNING DEVICE | |
DE102017002996A1 (en) | MACHINE LEARNING DEVICE FOR LEARNING THROUGH THE USE OF A SIMULATION RESULT, MACHINE SYSTEM, MANUFACTURING SYSTEM AND MACHINE LEARNING PROCESS | |
DE102019106729A1 (en) | Drive device and machine learning device | |
DE112017003961B4 (en) | Control for parallel link mechanism | |
DE102019204861A1 (en) | MACHINE LEARNING DEVICE; CONTROL DEVICE AND MACHINE LEARNING | |
DE102018209951A1 (en) | MACHINE TOOL, SERVO CONTROLLER, SERVO CONTROLLER AND MACHINE LEARNING | |
DE102018200794A1 (en) | ACTION INFORMATION ALIGNMENT DEVICE, ACTION INFORMATION OPTIMIZATION SYSTEM AND ACTION INFORMATION PROGRAM | |
DE102018003769A1 (en) | Machine learning device, servo control system and machine learning method | |
DE102018001028B4 (en) | Numerical control | |
DE102019204949A1 (en) | MACHINE LEARNING DEVICE, CONTROL DEVICE AND MACHINE LEARNING | |
DE102019006725A1 (en) | Control device and control system | |
DE102019209104A1 (en) | Output device, control device and output method for an evaluation function value | |
DE102020124734A1 (en) | SIMULATION DEVICE | |
DE112018001318T5 (en) | WIND POWER GENERATION SYSTEM | |
EP4121825A1 (en) | Computer-implemented method for creating control data sets, cad-cam system and production system | |
DE102011075337A1 (en) | Method for controlling system, involves carrying out action to control system by obtaining control information from data of system, where another action or operation is determined according to data to control system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R012 | Request for examination validly filed | ||
R084 | Declaration of willingness to licence |